本地访问地址默认是本地的IP+3000端口
广域网插件的话需要有公网IP或者使用花生壳等内网穿透软件,端口为3000
使用公网IP设置路由端口映射3000端口
使用花生壳等软件内网映射类型选择http,如下图
然后本地访问地址填写 http://evanelf.wicp.net 即可.注意最后不要写 /
注意:如果内网主机填写127.0.0.1设备无法通过访问地址访问则改成本机真实局域网ip 例如:192.168.1.100如果花生壳端口不是80 需要写花生壳随机分配的端口号 例:http://evanelf.wicp.net:61234
如果以上设置还无法连接,点击域名诊断
如果出现以下提示需重启花生壳
本地脚本目录
此目录用于版本管理,脚本可通过此目录进行自动更新
远程访问地址
此目录用于版本管理,可填写又拍云等远程更新脚本
上传文件目录
此目录用于脚本上传截图等文件使用.
接口为 本地访问地址/uploadFile 以下以http://192.168.31.163:3000为例
function main()
local img = '/var/touchelf/x.jpg';
snapshotRegion(img,100,100,200,200);
local res = uploads(img)
logDebug(res)
end
function uploads (file)
local http = require("socket.http")
local ltn12 = require("ltn12")
local url = "http://192.168.31.163:3000/uploadFile"
filename = string.match(file, ".+/([^/]*%.%w+)$")
local files = io.open(file, "rb")
local data = files:read("*all")
files:close();
local request_body = string.format('------Evan\r\nContent-Disposition: form-data;name="file"; filename="%s"\r\nContent-Type: application/octet-stream\r\n\r\n%s\r\n------Evan--',filename,data)
local response_body = {}
local res, code, response_headers = http.request{
url = url,
method = "PUT",
headers =
{
["Content-Type"] = "multipart/form-data; boundary=----Evan";
["Content-Length"] = #request_body;
},
source = ltn12.source.string(request_body),
sink = ltn12.sink.table(response_body),
}
if type(response_body) == "table" then
if table.concat(response_body) ~= "error" then
return table.concat(response_body);
else
return -1;
end
else
logDebug("Not a table:", type(response_body))
return -1;
end
end
上传成功会返回上传的文件名.实际使用中注意随机名字,否则会被覆盖
返回内容为json,见下图
mark