无法使用 wininet 将 ZIP 文件发布到服务器
Posted
技术标签:
【中文标题】无法使用 wininet 将 ZIP 文件发布到服务器【英文标题】:unable to post a ZIP file to a server using wininet 【发布时间】:2011-06-20 12:51:56 【问题描述】:我正在使用二进制模式打开文件
fopen("abhi.zip","rb");
并从中读取内容并将其附加到标题。
因为“abhi.zip”(压缩文件)中有很多空字符
它只在读取空字符之前发布数据。
我正在使用 httpsendrequest(...);
我被打动了,谁能帮帮我...
【问题讨论】:
发布您的代码以获得更准确的响应。可能您需要以某种方式封装二进制数据,因为 html 是一种文本协议 - 您可以编码为 Base64,还是使用 XMLCDATA
之类的东西?
在此处查看相关问题,如果它适合您,请为答案投票。 MIME 看起来也像下面的回复 +1 的方式。 ***.com/questions/4516149/how-to-send-mime-over-http
【参考方案1】:
您不应该将 POST 数据粘贴到标头中,而是将其作为 lpOptional
参数传递,将其长度传递给 dwOptionalLength
。您可能需要使用适当的 MIME 边界对数据进行编码和包装(我找不到关于是否需要这样做的明确文档)
【讨论】:
非常感谢它的工作......我从一开始就使用 loOptional 参数,但我使用 strlen(data) 作为 dwoptionalLength,它给出的长度小于所需长度,因为“数据”参数有 NULL 字符中间……以上是关于无法使用 wininet 将 ZIP 文件发布到服务器的主要内容,如果未能解决你的问题,请参考以下文章
WinInet - 没有 Internet Explorer 就无法工作?
无法从 WinForms 应用程序设置 WinInet 代理