使用LuaSocket上传图像

时间:2015-08-19 19:02:36

标签: lua luasocket

我尝试使用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;。 但是如果我尝试上传文本文件,脚本工作正常。

感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:2)

您将"rb"作为参数传递给ltn12.sink.file而不是io.open。将语句更改为:

source = ltn12.source.file( io.open(dir,"rb") ),