找回密码
 加入
搜索
楼主: 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?       


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2019-8-13 21:16:53 | 显示全部楼层
king8462 发表于 2019-8-13 21:14
我用文本打开比对过,都是这种字符,而且很长:
-----------------------------94922390417636
Content ...

用易语言发送同一个exe文件,生成的 guid.txt 上传看看
 楼主| 发表于 2019-8-13 21:30:24 | 显示全部楼层
本帖最后由 king8462 于 2019-8-15 19:03 编辑
afan 发表于 2019-8-13 21:16
用易语言发送同一个exe文件,生成的 guid.txt 上传看看

代码用的之前的,可以上传成功。au3生成guid.txt文件小一些。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 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语言
 楼主| 发表于 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")


您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 20:50 , Processed in 0.079798 second(s), 12 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表