`
guowee
  • 浏览: 176692 次
  • 性别: 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  
有后台接收的代码吗?能否贴上来看看,谢谢!

相关推荐

    wm windows mobile ftp手机版

    总结,WM Windows Mobile FTP手机版工具是移动设备上不可或缺的实用软件,它将桌面级的FTP体验带到掌上,让文件传输更加自由、高效。通过了解这些知识点,用户能够更好地利用这类工具,提升移动办公的体验。

    Opera Mini 5.1 for Windows Mobile 正式版 代理服务器修改

    ### Opera Mini 5.1 for Windows Mobile 代理服务器修改详细指南 #### 一、引言 Opera Mini是一款专为移动设备设计的浏览器,其特点在于能够通过代理服务器压缩网页数据,从而实现更快的加载速度和更低的数据消耗...

    Windows Mobile下的FTP类实现

    在Windows Mobile平台上开发应用程序时,有时需要与远程服务器进行数据交换,例如上传或下载文件,这时FTP(File Transfer Protocol)协议就是一个常用的工具。本篇主要介绍如何在Windows Mobile环境下实现一个FTP类...

    windows mobile FTP 客户端源码

    4. 文件I/O操作:在本地存储和FTP服务器之间进行文件操作时,需要使用Windows Mobile的文件I/O接口。这包括打开、读取、写入和关闭文件。 5. 多线程编程:为了实现非阻塞的并发操作,如同时进行文件上传和下载,...

    Windows Mobile GPS导航程序员文件 LiveTracker

    DataSync文件夹可能包含同步逻辑,用于将设备上的GPS数据上传到服务器,或者将服务器上的更新下载到设备。这对于实时跟踪和数据分析至关重要,尤其是当有多台设备需要同步时。 GPS.Util可能是一个实用程序库,包含...

    windows_mobile_5.0_socket.rar_Mobile C/S_Windows Mobile UDP_win

    5. **开发实例**:"CS_CaptureAccumulateTransfer"可能是一个源代码示例或者项目文件,它展示了如何在Windows Mobile 5.0上实现UDP Socket通信。通常,这样的实例会包括客户端如何创建Socket连接,发送和接收数据,...

    Windows Live for Windows Mobile Product Reference Guide

    - **上传媒体**:上传图片和视频到个人空间。 - **评论互动**:阅读他人评论并对评论进行回复。 - **个性化设置**:定制个人空间的设计和布局。 #### Windows Live Contacts Windows Live Contacts 功能使得用户...

    RLGPS_WindowsMobile_tracker_traccar_

    在Windows Mobile平台上,RLGPS设备通常会与TRACCAR服务器进行集成,实现数据的上传和接收。设备通过RLGPS技术收集位置信息,然后将这些信息发送到运行TRACCAR服务的服务器。服务器接收到数据后,解析并存储,用户...

    WindowsMobile移动开发

    RDA(Remote Data Access)数据同步是Windows Mobile应用中的关键特性,它允许移动设备与远程服务器之间进行数据交换。RDA允许用户在离线状态下工作,然后在有网络连接时同步数据,这对于那些在网络不稳定或不可用的...

    windows mobile 调用CMWAP 上网 代码

    在Windows Mobile平台上进行移动网络开发时,调用CMWAP上网是常见的需求,尤其是在GPRS(General Packet Radio Service)环境下。CMWAP是China Mobile WAP的缩写,是一种专为移动设备设计的网络接入协议,它允许用户...

    windows Mobile下的WinInet异步使用

    在Windows Mobile平台上,开发人员经常会遇到需要实现网络通信的需求,比如文件的上传和下载。这时,WinInet库提供了一种高效且灵活的解决方案。WinInet是Microsoft为Windows操作系统设计的一个API,它允许应用程序...

    WINDOWS MOBILE 下的FTP封装类及测试

    在Windows Mobile操作系统中,开发应用程序时,我们可能会遇到需要与远程服务器进行文件交换的情况,这时FTP(File Transfer Protocol)协议就显得尤为重要。本主题将详细讲解如何在Windows Mobile环境下实现FTP功能...

    Windows CE实现自动同步时间功能

    在Windows CE和Windows Mobile操作系统中,自动同步时间功能是一个重要的特性,它允许设备与公网上的时间服务器进行同步,确保系统时间的准确性。这对于系统日志记录、网络通信、安全认证等多个方面都至关重要。本文...

    Windows Mobile 6 为开发人员带来的新特性

    Windows Mobile 6是一款专为移动设备设计的操作系统,尤其针对PDA(个人数字助理)设备。这个版本在2007年为开发人员带来了许多新特性,旨在优化用户体验和提高开发效率。以下是一些关键点: 1. **用户界面设计**:...

    Windows Mobile CE 5下的GPS导航路线记录系统源代码

    9. **数据存储**:记录的GPS轨迹数据可能被存储在设备的本地数据库(如SQL CE)或者上传到远程服务器,以便于分析和共享。 通过研究提供的源代码,开发者可以学习到如何在Windows Mobile CE 5平台上与GPS硬件交互、...

    Windows/WindowsMobile网络编程(使用Win32API)教程,实现浏览器的例子

    在本文中,我们将深入探讨如何使用Win32 API进行Windows/Windows Mobile平台上的网络编程,以构建一个简单的网络浏览器作为示例。这个教程主要关注如何利用Microsoft的Win32 Internet函数来实现这一目标,这些函数...

    基于Windows Mobile 的数据同步技术

    ### 基于Windows Mobile 的数据同步技术 #### 一、为什么需要数据同步? 随着移动设备的普及,用户越来越依赖于这些便携式设备来进行工作和生活中的各种活动。为了确保移动设备上的应用能够高效地运行,数据同步...

    WinMobile开发示例工程

    在IT行业中,Windows Mobile(简称WinMobile)是一个已经过时的操作系统平台,主要用于早期的智能手机和平板电脑。尽管现在已被Windows Phone和Android等现代操作系统所取代,但了解WinMobile的开发对于历史研究或...

    e-mobile安装教程

    这可以通过e-mobile的管理界面完成,上传APK或IPA文件,或者通过集成的开发者工具进行打包。 7. **用户管理和设备注册** 设置用户角色和权限,允许员工或团队注册他们的设备。e-mobile通常支持多种设备平台,如iOS...

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

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

Global site tag (gtag.js) - Google Analytics