add combine image logic (#14)

* add combine image logic

* remove unnecessary log
This commit is contained in:
木逸辰
2021-09-06 18:56:59 +08:00
committed by GitHub
parent d1253478a7
commit c7a35c4744
5 changed files with 72 additions and 16 deletions
+32 -5
View File
@@ -1,5 +1,32 @@
---
--- Generated by EmmyLua(https://github.com/EmmyLua)
--- Created by moicen.
--- DateTime: 2021/9/4 12:28
---
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())
local data = req_body["data"]
local combined = file_dir .. "/" .. uuid.generate_v4() .. ".jpeg";
local len = table.getn(data)
local origin = {}
for i = 1, len do
origin[i] = file_dir .. "/" .. data[i] .. " "
end
-- in linux
local magick = "/usr/local/ImageMagick/bin/magick"
local tmp = io.open(magick,"r")
if tmp == nil then
-- in mac os
magick = "/usr/local/bin/magick"
else
io.close(tmp)
end
local file = io.popen(magick .. " convert -append " .. table.concat(origin, " ") .. " " .. combined)
file:read("*all")
file:close()
file = io.open(combined)
local content = file:read("*all")
file:close()
os.remove(combined)
ngx.say(content)