`
guowee
  • 浏览: 173657 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Windows Mobile 上传文件到服务器

阅读更多

最近在写一个小程序,功能是将文件读取然后然后上传到文件服务器上去。 文件服务器端接收格式为字符串。思路是将文件读取后转换为Base64编码,然后传递给服务器。

 

再读取文件和转换的过程中遇到了一些问题,总是得到的东西不对,都是以而写zMzMzM的连续的乱码式字符。苦思不得其解,后来觉得可能是读取的时候转换过程中出现了问题。怀疑是整个转换过程出现了问题。

 

于是想用另外一个办法,每次读取4096字节数据,转换。这样把所有的加起来就是整个的base64编码。但是转换后仍然问题依旧。苦思,最后发觉,Base64编码规则是将3个8Bytes的数据转换为4个6bytes的数据。而4096不是3的倍数,正好余1,最后一个如何转换呢?因此将Buffer长度改为4095,问题解决。

 

下面是部分代码:

    CString fileURL = m_filePath;
    HANDLE hFile;
    TCHAR buffer[BUFSIZE];
    TCHAR lpPathBuffer[BUFSIZE];
    DWORD  dwBytesRead, dwBytesWritten, dwBufSize=BUFSIZE;
    hFile = CreateFile(m_filePath.GetBuffer(),  // file name
        GENERIC_READ,                   // open for reading
        0,                              // do not share
        NULL,                           // default security
        OPEN_EXISTING,                  // existing file only
        FILE_ATTRIBUTE_NORMAL,          // normal file
        NULL);   
    if (hFile == INVALID_HANDLE_VALUE)
    {
        return;
    }
    CString str;

    do
    {
        if (ReadFile(hFile, buffer, 4095,
            &dwBytesRead, NULL))
        {
            /*CString temp(buffer);
            str+=temp;        */   
            CStringA contentStr = ToBase64(buffer,dwBytesRead);
            str.Append((CString)contentStr);
        }
    } while (dwBytesRead == BUFSIZE);
    CloseHandle(hFile);

分享到:
评论
2 楼 xiaoqiang2008 2011-04-05  
后台接收代码最好是用java写的
1 楼 xiaoqiang2008 2011-04-05  
有后台接收的代码吗?能否贴上来看看,谢谢!

相关推荐

    支持多线程断点续传的文件传输(FTP)程序(含服务端和客户端、支持蓝牙(Bluetooth)传输)

    还可用来在智能手机之间通过蓝牙、无线网络、数据线传输文件,支持多线程和断点续传,代码已经封装成一个dll库,可以作为服务器来使用,也可以当作客户端来使用,服务端支持蓝牙(Bluetooth)接入,并提供详细的测试...

    Glype完全汉化&&移动版自动跳转适配.zip

    1.将此文件夹上传到网站根目录 2.打开自己站点网址,如:example.com,或loaclhost 3.第一次安装时打开网址:example.com/admin.php和example.com/mobile/admin.php登记管理员信息,因为移动版实则是另一套Glype程序...

    ftp_service_and_mobile_client.7z

    在Windows系统下搭建FTP服务器,手机端安装ftp客户端,手机端访问ftp服务器,实现文件的上传和下载! 详细说明:https://www.jianshu.com/p/de0d8ac5a227

    支持多线程断点续传的文件传输(FTP)程序(含服务端和客户端、支持蓝牙(Bluetooth)传输)VC源代码

    【软件名称】支持多线程断点续传的文件传输(FTP)程序(含服务端和客户端、支持蓝牙(Bluetooth)传输)【版 本】1.0.0【操作系统】Windows 桌面系列、Windows Mobile【作 者】谢红伟 · chrys · chrys@ ·【软件说明...

    ECTouch移动商城系统 v1.1.rar

    2、上传 upload 目录中所有文件到服务器ecshop商城系统的mobile目录 3、设置目录权限,./data 目录需要读写权限 4、执行安装程序,请在浏览器中运行安装程序 访问:http://你的域名/mobile/index.php 5、请根据...

    PHP 代码自动生成工具 e-World Tech PHPMaker 2020.0.3 英文特别免费版.rar

    支持文件扩展名,文件大小和最大值的全局和字段特定客户端/服务器端验证。文件数量(如果多次上传) 使用method =“post”的表单的同步器标记 支持phpass格式的用户密码(由第三方系统加密) 改进的代码编辑器 UI...

    RABSoft远程服务平台

    一次赵先生从家里出发往公司参加会议,在公共汽车上突然想起一份重要文档还在家里的电脑上,正巧孩子在玩游戏,电脑是开着,于是赵先生使用手机利用RABSoft远程服务平台发送离线文件存储命令,将文档上传到了中转站...

    C#源码大集合 02(共3卷)

    之前分为四个包,后两个包上传不了,对于已经下载的朋友表示赚意,现在重新再发一次(改为3卷) ├─C#源码第一部分 │ ├─第1章 控件操作 │ │ ├─实例1 如何使用错误提醒控件 │ │ ├─实例10 如何使用列表...

    asp.net知识库

    在ASP.NET中使用WINDOWS验证方式连接SQL SERVER数据库 改进ADO.Net数据库访问方式 ASP.NET 2.0 绑定高级技巧 简单实用的DataSet更新数据库的类+总结 [ADO.NET]由数据库触发器引发的问题 为ASP.NET封装的SQL数据库...

    苦菊OA协同办公系统 v2019 开源版.zip

    支持多种服务器环境,支持 平台可运行在WINDOWS、 LIUNX 、UNIX等任何支持PHP MYSQL服务器环境的主机、虚拟主机、VPS以及云主机。 零风险实施部署 苦菊OA打破传统协同软件商业模式,打造轻型、易安装、易维护的OA...

    C#源码大集合 01(共3卷)

    C#源码大集合 01(共3卷) <br>之前分为四个包,后两个包上传不了,对于已经下载的朋友表示赚意,现在重新再发一次(改为3卷) <br> ├─C#源码第一部分 │ ├─第1章 控件操作 │ │ ├─实例1 如何...

    C#源码大集合 03(共3卷)

    C#源码大集合 03(共3卷) <br>之前分为四个包,后两个包上传不了,对于已经下载的朋友表示赚意,现在重新再发一次(改为3卷) <br> ├─C#源码第一部分 │ ├─第1章 控件操作 │ │ ├─实例1 如何...

    基于android的即时通讯开题报告(2.0).doc

    选题目的和意义: " "随着移动通信的发展以及互联网向移动终端的普及,网络和用户对移动终端的要求 " "越来越高,而Symbian,WindowsMobile,Palmos等手机平台,过于封闭,不能很好的" "满足用户的需求,因此市场迫切...

Global site tag (gtag.js) - Google Analytics