post上传文件-如何将非文本文件读取为数据流
本帖最后由 papapa314 于 2011-7-28 20:09 编辑看了易语言的文件上传教程,发现易语言里有个数据类型字节集,能够保存任何格式的文件,但au3没有这个数据类型,请问有什么方式代替吗?
目前我按照如下的代码上传文件后,发现文件大小大了一倍,问题应该出在以下这三句代码:
$file=FileOpen("F:\xd314.jpg",16)
$text&=FileRead($file)&@CRLF
FileClose($file)
这里只是将将文件读取为二进制(字节),而服务器无法将这个再转换为原始格式。
望各位帮忙解决这个问题,先行谢过。
$oHTTP = ObjCreate("microsoft.xmlhttp")
$oHTTP.Open("post","http://219.159.198.136:8000/jsjjc/upload.asp",false)
$oHTTP.setRequestHeader("Accept-Language", "zh-cn")
$oHTTP.setRequestHeader("Content-Type","multipart/form-data")
$oHTTP.setRequestHeader("Referer","http://219.159.198.136:8000/jsjjc/upload.asp?action=UploadFiles")
$text='-----------------------------7db15728160758'&@CRLF
$text&='Content-Disposition: form-data; name="upfile"; filename="F:\xd314.jpg"'&@CRLF
$text&='Content-Type: image/pjpeg'&@CRLF&@CRLF
$file=FileOpen("F:\xd314.jpg",16)
$text&=FileRead($file)&@CRLF
FileClose($file)
$text&='-----------------------------7db15728160758--'&@CRLF&@CRLF
$oHTTP.send($text)
MsgBox(0,0,$oHTTP.responsetext)
各位没有好的办法吗? 回复 1# papapa314
我帮你测试了,那个服上的不管是日期还是文件大小,都是乱显示的。
就是你直接用IE上传,也是错误的文件大小 回复 3# happytc
不会的哦,我上传文件后都可以看到我上传的文件名,文件大小也是一致的,虽然网页上没有按顺序显示。
我用filewrite("1.txt",$text)也发现文件大小比原来的jpg文件大了一倍。
问题还是出在无法将图片读取为数据流。 回复 3# happytc
搞定了哈哈,原来要把所有文本转成二进制再和jpg的数据一起发送,这回发送过去的文件大小一致了。多谢republican的提醒。 学习学习!!!!!!!!!!
页:
[1]