2

我一直在尝试使用 LUA 将文件上传到网络服务器。

我的问题是我想使用 LUA 将文件上传到网络服务器,该服务器模仿从浏览器上传文件。

我成功地能够使用服务器上传文件,我可以在file_get_contents('php://input')其中获取内容和 mime_decode 并保存该文件。

但是,我想$_FILES['file_name']在服务器端使用 lua 实现我可以做的事情。

那么有人知道如何在LUA中做到这一点吗?

问候。

4

1 回答 1

2

您可以使用 HTTP 套接字库发送 HTTP 请求,使用 ltn12 库进行过滤器(文件输入)。两者都应该与 Lua 一起提供。

http = require("socket.http")
ltn12 = require("ltn12")

http.request{
    url = "url://to.server/upload/script.php",
    method = "POST",
    headers = {
        ["Content-Type"] =  "multipart/form-data",
        ["Content-Length"] = sizeOfFile
    },
    source = ltn12.source.file(io.open(pathToLocalFile)),
    sink = ltn12.sink.table(response_body)
}
print(response_body[1]) --response to request
于 2012-09-04T21:31:39.393 回答