使用 LuaSocket 上传图片

Uploading an image using 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"); 
?>

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

感谢任何帮助。谢谢

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

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