1

我正在尝试使用 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"); 
?>

当我尝试上传图像时,我没有收到任何错误,但正文和状态为零,但代码为“超时”。但是如果我尝试上传文本文件,脚本可以正常工作。

任何帮助表示赞赏。谢谢。

4

1 回答 1

2

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

source = ltn12.source.file( io.open(dir,"rb") ),
于 2015-08-19T21:00:20.047 回答