帮我写一个lua读取本地txtzip文件自动上传到服务器
以下是一个基本的Lua脚本,它可以读取本地的txt和zip文件,并自动上传到服务器。你需要根据你的具体需求进行适当的修改和扩展。
local socket = require("socket")
local ltn12 = require("ltn12")
local mime = require("mime")
local function read_file(filename)
local file = assert(io.open(filename, "rb"))
local content = file:read("*all")
file:close()
return content
end
local function upload_file(filename, url)
local file_content = read_file(filename)
local request_body = {
filename = filename,
filedata = mime.b64(file_content)
}
local request_headers = {
["Content-Type"] = "application/x-www-form-urlencoded",
["Content-Length"] = tostring(#request_body)
}
local response_body = {}
local res, code, response_headers = socket.http.request{
url = url,
method = "POST",
headers = request_headers,
source = ltn12.source.string(request_body),
sink = ltn12.sink.table(response_body)
}
if code == 200 then
print("File uploaded successfully.")
else
print("File upload failed.")
end
end
-- 读取txt文件并上传
local txt_filename = "path/to/your/txt/file.txt"
local server_url = "http://yourserver.com/upload"
upload_file(txt_filename, server_url)
-- 读取zip文件并上传
local zip_filename = "path/to/your/zip/file.zip"
upload_file(zip_filename, server_url)
请确保你已经安装了相关的Lua库,例如luasocket和luafilesystem。你可以使用Lua的包管理器(如luarocks)来安装它们:
luarocks install luasocket
luarocks install luafilesystem
请将path/to/your/txt/file.txt和path/to/your/zip/file.zip替换为你实际的文件路径,将http://yourserver.com/upload替换为你的服务器上传URL
原文地址: http://www.cveoy.top/t/topic/iX22 著作权归作者所有。请勿转载和采集!