我尝试使用luaSocket上传图片。
这是我的Lua代码:
function uploadFile(dir)
local resp = {}
local body,code,headers,status = http.request{
url = "my_url",
method = "POST",
headers = {
["Content-Type"] = "application/x-www-form-urlencoded",
["Content-Length"] = file_size
},
source = ltn12.source.file(io.open(dir),"rb"),
sink = ltn12.sink.table(resp)
}
print(body,code,status)
if headers then for k,v in pairs(headers) do print(k,v) end end end
我的PHP代码是:
<?php
copy("php://input","test");
echo("OK");
?>
当我尝试上传图片时,我没有收到任何错误,但身体和状态为零,但代码为&#34;超时&#34;。 但是如果我尝试上传文本文件,脚本工作正常。
感谢任何帮助。感谢。
答案 0 :(得分:2)
您将"rb"
作为参数传递给ltn12.sink.file
而不是io.open
。将语句更改为:
source = ltn12.source.file( io.open(dir,"rb") ),