客户端VB使用winsock上传:
strHttp = "......"
Winsock1.Protocol = sckTCPProtocol
Winsock1.RemoteHost = DestUrl.Host
Winsock1.RemotePort = 80
Winsock1.Connect
strHttp = "中文异常"
Winsock1.SendData strHttppWeb服务器端使用apache的common-fileuploads.jar包实现文件接收,
如果strHttpp的内容中含有中文,则服务器解析报文接收文件时报错:
Processing of multipart/form-data request failed. Stream ended unexpectedly。
如果strHttp只有英文字符,则一切正常,会是什么原因?
strHttp从文件读取内容后需要先做编码转换吗?
服务器端现在可以接收PB以本方式上传的文件(中文也正常),PB中是将文件内容转换为BLOB的方式,
VB中如何实现类似功能?----VB不熟多谢,多谢
strHttp = "......"
Winsock1.Protocol = sckTCPProtocol
Winsock1.RemoteHost = DestUrl.Host
Winsock1.RemotePort = 80
Winsock1.Connect
strHttp = "中文异常"
Winsock1.SendData strHttppWeb服务器端使用apache的common-fileuploads.jar包实现文件接收,
如果strHttpp的内容中含有中文,则服务器解析报文接收文件时报错:
Processing of multipart/form-data request failed. Stream ended unexpectedly。
如果strHttp只有英文字符,则一切正常,会是什么原因?
strHttp从文件读取内容后需要先做编码转换吗?
服务器端现在可以接收PB以本方式上传的文件(中文也正常),PB中是将文件内容转换为BLOB的方式,
VB中如何实现类似功能?----VB不熟多谢,多谢
解决方案 »
- Path-->Directory,截串?
- 如何用VB实现ARP命令的功能?
- 如何从一张表中取出需要的内容?
- 如何在form窗体上加滚动条(在线等待)
- VBA Excel合并单元格
- 散分啦 !!!!!!! msflexgrid 的竖滚动条总滚到最下面
- 困扰已久的Null问题!
- VB中IMAGE控件LOAD图片提示“481错误,无效图片”
- 急!Winsock(TCP/IP)传送的每个数据包大小可不可以大于8K多?
- vb触发问题
- GetObject和CreateObject
- VB6制作的DLL组件在C#中使用时,当鼠标指向该组件的类函数时,怎样也能提示一个函数说明,这在编写VB6类代码时如何安排这些函数说明才能达到这种目的。
Dim Bytes() as Byte '定义字节数组
strHttp = "中文异常"
Bytes = StrConv(strHttp,vbFromUnicode) '将字符串格式化成字节数组
Winsock1.SendData Bytes '发送字节数组
其实strHttp参数里不只是文件内容,还包含有拼装的http报文信息,如果一起转换为byte
,则无法发送消息,因为里面的URL地址之类都被转换了,无法识别 或是PB有其它的上传方法?
进展步骤:
1、原来组织的HTTP报文中,对于文件内容长度属性的赋值不准确,现改为 lngLength = LenB(StrConv(strHttp, vbFromUnicode))
2、原来原来读取xml文件的方式不严格: Open strPath For Binary As #1,这种方式读取的时候在内容的末尾添加了特殊字符,
类似于描述文件编码格式的东西,因此有这一点也引起了点小问题。
现在对于普通文件的上传已解决。
现有问题:
对于zip压缩文件的上传还是不行,尚未深入查,可能时出现在对文件的读取上,怀疑对zip文件的读取和普通文件的读取应该用
不同地方法,现采用的是:
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.OpenTextFile(strPath)
GetFileContents = a.readall哪位有什么建议?----------问题解决,依然尽快结贴。
OpenTextFile,很明显你是用文本方式读二进制文件,肯定会出问题的。