king8462 发表于 2019-8-13 21:14:46

afan 发表于 2019-8-13 21:12
你用易语言生成的 guid.txt 比对一下不就清楚了
我用文本打开比对过,都是这种字符,而且很长:
-----------------------------94922390417636
Content-Disposition: form-data; name="file"; filename="st.exe"
Content-Type: text/plain

MZ?       


afan 发表于 2019-8-13 21:16:53

king8462 发表于 2019-8-13 21:14
我用文本打开比对过,都是这种字符,而且很长:
-----------------------------94922390417636
Content ...

用易语言发送同一个exe文件,生成的 guid.txt 上传看看

king8462 发表于 2019-8-13 21:30:24

本帖最后由 king8462 于 2019-8-15 19:03 编辑

afan 发表于 2019-8-13 21:16
用易语言发送同一个exe文件,生成的 guid.txt 上传看看
代码用的之前的,可以上传成功。au3生成guid.txt文件小一些。

afan 发表于 2019-8-13 22:39:23

本帖最后由 afan 于 2019-8-14 00:14 编辑

king8462 发表于 2019-8-13 21:30
代码用的之前的,可以上传成功。au3生成guid.txt文件小一些。
说实话,如果用易语言生成的那种 Txt 文件,能还原成原 exe文件 我也是想不通的,除非不转为文本格式,直接Post。

繁星 发表于 2019-8-13 23:20:25

au3不能post吗,为什么非要借用E语言

king8462 发表于 2019-8-15 19:02:34

afan 发表于 2019-8-13 13:46
感觉被楼主带偏了,Au3 本身就可以完成全套的 Post 不说,就光当前的这个问题而言,就不应该替换完成后写入 ...

非常感谢版主,0点了还在帮我解决问题。其实一开始确实是我理解的问题,把版主带偏了。非要通过读写文本来操作,以至于走了弯路。之所以一直没有回复版主是因为您的代码本身没有错,但不适用于这个网站。今天在坛友“网络书生”的帮助下,代码最终成功了。下面附上解决代码,请A版看看,是否还能优化,谢谢!

Global $httpObj, $guid, $file, $pz, $scwj, $data, $upfile, $fileSize
$httpObj = ObjCreate("winhttp.winhttprequest.5.1")
$upfile = "exe测试文件.exe"
$file = @ScriptDir & "\guid.txt";配置文件
$guid = guidjs();获取guid参数值
$pz = pzdata();获取pz参数值
$lasttime = _Hdate()



Local $boundary = '-----------------------------94922390417636' ;上传分隔线
Local $guid_bound = $boundary & @CRLF & _
                'Content-Disposition: form-data; name="guid"' & @CRLF & @CRLF & $guid & @CRLF
$guid_bound = StringToBinary($guid_bound);二进制
Local $pz_bound = $boundary & @CRLF & _
                'Content-Disposition: form-data; name="pz"' & @CRLF & @CRLF & $pz & @CRLF
$pz_bound = StringToBinary($pz_bound);二进制
Local $id_bound = $boundary & @CRLF & _
                'Content-Disposition: form-data; name="id"' & @CRLF & @CRLF & "WU_FILE_0" & @CRLF
$id_bound = StringToBinary($id_bound);二进制
Local $name_bound = $boundary & @CRLF & _
                'Content-Disposition: form-data; name="name"' & @CRLF & @CRLF & $upfile & @CRLF
$name_bound = StringToBinary($name_bound);二进制
Local $type_bound = $boundary & @CRLF & _
                'Content-Disposition: form-data; name="type"' & @CRLF & @CRLF & "text/plain" & @CRLF
$type_bound = StringToBinary($type_bound);二进制
Local $lastModifiedDate_bound = $boundary & @CRLF & _
                'Content-Disposition: form-data; name="lastModifiedDate"' & @CRLF & @CRLF & $lasttime & @CRLF
$lastModifiedDate_bound = StringToBinary($lastModifiedDate_bound);二进制
Local $file_bound = $boundary & @CRLF & _
                'Content-Disposition: form-data; name="file"; filename="' & $upfile & '"' & @CRLF & _
                'Content-Type: text/plain' & @CRLF & @CRLF
$file_bound = StringToBinary($file_bound);二进制

Local $hopen = FileOpen(@ScriptDir & "\" & $upfile, 16);二进制读取文件
Local $binfile = FileRead($hopen)
FileClose($hopen)

Local $binfoot = @CRLF & $boundary & '--' & @CRLF ;最前的换行别忘了,"--"表示结束符
$binfoot = StringToBinary($binfoot);二进制

$data = $guid_bound & $pz_bound & $id_bound & $name_bound & $type_bound & $lastModifiedDate_bound & $size_bound & $file_bound & $binfile & $binfoot
;$data = $chars
FileWrite(FileOpen("test.txt", 2), $data)
FileClose("test.txt")


页: 1 2 [3]
查看完整版本: [求助]文件以二进制形式保存插入