电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

文件上传到HTTP服务器VIP免费

文件上传到HTTP服务器_第1页
1/9
文件上传到HTTP服务器_第2页
2/9
文件上传到HTTP服务器_第3页
3/9
文件上传到HTTP 服务器 2011-03-14 17:15 最近两个星期主要搞这个东东,到今天总算比较圆满的搞定了. 用http 协议上传主要有两种形式: 第一是用http 的put 协议,第二是用http 的post 协议. 先说说 put 协议, 所谓 put,顾名思义,就是把文件"放"到server 端. 这个过程不涉及文件的http 和 mime 封装(post 协议需要做), 因而比较简单.但是考虑到安全问题,一般服务器不会开发 put 权限,因此这种方法的用途并不广泛 废话不多说,来看看代码: CInternetSession internetSession("my session"); //定义 session CHttpConnection* httpConnection = internetSession.GetHttpConnection(strServerIP,intServerPort); //获得链接 CHttpFile* httpFile = httpConnection->OpenRequest(CHttpConnection::HTTP_VERB_PUT,strRemoteFile,NULL,0,NULL,NULL,INTERNET_FLAG_DONT_CACHE); //发送请求 ... httpFile->SendRequestEx(&BufferIn,NULL,HSR_INITIATE,0); 注意倒数第二句的CHttpConnection::HTTP_VERB_PUT, 表示程序将采用http 的put 协议上传文件. 再看 post 协议,这个东东如果只涉及文本还是比较简单的,可以直接 post 过去,不用构造表单. 但是一旦需要上传文件, 就需要用http 和 mime 的两层封装了. 封装需要对 http 头和mime 标识做一些了解,很恶心=,=. 最需要注意的一点, 在最后 SendRequestEx 的时候, 传递的参数是文件的字节数,这个字节数应该是所要上传的文件和 http 头以及 mime 头的字节总数! 否则即使 CLIENT 端不出错, server 也得不到正确结果的! 也来看看代码吧: CInternetSession internetSession("my session"); //定义 session CHttpConnection* httpConnection=internetSession.GetHttpConnection(strServerIP,intServerPort); //获得链接 CHttpFile* httpFile = httpConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,strRemoteFile,NULL,0,NULL,NULL,INTERNET_FLAG_DONT_CACHE); //发送请求 ... httpFile->SendRequestEx(dwTotalRequestLength, HSR_SYNC | HSR_INITIATE); 随便说说,post 协议俺用baidu 搜了许久,找到了一个类似的程序,研究了许久搞不定.. 后来目有办法, google 一个外文论坛, 拜读了某牛人的大作后,终于弄清楚了~ 看来以后还是要多啃鸟文啊.. 附上源代码: put 协议: UpLoadFile::UpLoadFile(void) {...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

文件上传到HTTP服务器

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部