59 lines
1.8 KiB
Lua
59 lines
1.8 KiB
Lua
local uuid = require "resty.jit-uuid"
|
|
local cjson = require "cjson"
|
|
|
|
local json_string = nil
|
|
|
|
---- Automatic seeding with os.time(), LuaSocket, or ngx.time()
|
|
uuid.seed()
|
|
uuid()
|
|
|
|
-- Get post json argv
|
|
local arg = ngx.req.get_post_args()
|
|
for k,v in pairs(arg) do
|
|
ngx.log(ngx.INFO , "Image append [POST] key:", k .." | ".." v:", v)
|
|
json_string = v
|
|
end
|
|
|
|
-- Decode json string
|
|
local json = cjson.decode(json_string)
|
|
ngx.say("Image append input filename number is :" , table.getn(json.data))
|
|
local image_append_input_files_number = table.getn(json.data)
|
|
for i = 1, image_append_input_files_number do
|
|
ngx.log(ngx.INFO , "Image append input filename is :" , json.data[i])
|
|
end
|
|
|
|
-- Image append
|
|
---- Upload file save path config in nginx.conf
|
|
local save_upload_file_path = ngx.var.store_dir
|
|
local append_image_table = {}
|
|
local output_image_uuid = uuid.generate_v4();
|
|
|
|
-- Add path to input image filename
|
|
for i = 1, image_append_input_files_number do
|
|
append_image_table[i] = save_upload_file_path .. json.data[i] .. " "
|
|
ngx.log(ngx.INFO, "Insert append image table "..i.." with "..append_image_table[i])
|
|
end
|
|
|
|
-- Concat input image to a command string
|
|
local append_input_images = table.concat(append_image_table)
|
|
ngx.log(ngx.INFO , "Input images list : " , append_input_images)
|
|
|
|
-- Add path to output image filename
|
|
local append_output_image = save_upload_file_path .. output_image_uuid..".jpg ";
|
|
ngx.log(ngx.INFO , "Output image is : "..append_output_image)
|
|
|
|
-- Debug
|
|
ngx.log(ngx.INFO , '/usr/local/ImageMagick/bin/magick convert -append '..append_input_images..' '..append_output_image)
|
|
|
|
local call_imagemagick_cmd = io.popen('/usr/local/ImageMagick/bin/magick convert -append '..append_input_images..' '..append_output_image)
|
|
local imagemagick_cmd_replay = call_imagemagick_cmd:read("*all")
|
|
ngx.log(ngx.INFO , imagemagick_cmd_replay)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|