restructure
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
local uuid = require "resty.jit-uuid"
|
||||
local cjson = require "cjson"
|
||||
uuid.seed()
|
||||
|
||||
local file_dir = ngx.var.tmp_file_dir
|
||||
ngx.req.read_body()
|
||||
local req_body = cjson.decode(ngx.req.get_body_data())
|
||||
ngx.log(ngx.INFO, 'REQ_BODY -> ', ngx.req.get_body_data())
|
||||
local data = req_body["data"]["images"]
|
||||
local combined = file_dir .. "/" .. uuid.generate_v4() .. ".jpeg";
|
||||
local len = table.getn(data)
|
||||
if len == 0 then
|
||||
ngx.status = 500
|
||||
ngx.log(ngx.ERR, "No images to combine!")
|
||||
return ;
|
||||
end
|
||||
local origin = {}
|
||||
for i = 1, len do
|
||||
ngx.log(ngx.INFO, "COMBINE FILE ->", data[i])
|
||||
origin[i] = file_dir .. "/" .. data[i] .. " "
|
||||
end
|
||||
-- 从 nginx 变量取
|
||||
local convert = ngx.var.convert
|
||||
|
||||
if not convert then
|
||||
ngx.status = 500
|
||||
ngx.log(ngx.ERR, "ImageMagick NOT FOUND.")
|
||||
return
|
||||
end
|
||||
|
||||
local cmd = convert .. " -append " .. table.concat(origin, " ") .. " " .. combined
|
||||
ngx.log(ngx.INFO, 'CMD -> ', cmd)
|
||||
local result, _, code = os.execute(cmd)
|
||||
if result and code == 0 then
|
||||
local file = io.open(combined)
|
||||
local content = file:read("*all")
|
||||
file:close()
|
||||
os.remove(combined)
|
||||
ngx.log(ngx.INFO, "IMAGE COMBINED -> ", combined)
|
||||
ngx.say(content)
|
||||
else
|
||||
ngx.status = 500
|
||||
ngx.log(ngx.ERR, "IMAGE COMBINE *FAILED*")
|
||||
end
|
||||
Reference in New Issue
Block a user