diff --git a/prod/upload/combine.lua b/prod/upload/combine.lua index feb50e6..3d82946 100644 --- a/prod/upload/combine.lua +++ b/prod/upload/combine.lua @@ -13,14 +13,13 @@ local origin = {} for i = 1, len do origin[i] = file_dir .. "/" .. data[i] .. " " end --- linux -local magick = "/usr/local/ImageMagick/bin/magick" -local tmp = io.open(magick,"r") -if tmp == nil then - -- mac os - magick = "/usr/local/bin/magick" -else - io.close(tmp) +-- 从 nginx 变量取 +local magick = ngx.var.magick + +if not magick then + ngx.status = 500 + ngx.say("image magick not found.") + return end local result, _, code = os.execute(magick .. " convert -append " .. table.concat(origin, " ") .. " " .. combined) diff --git a/prod/upload/upload.lua b/prod/upload/upload.lua index b6f176b..9dc9f36 100644 --- a/prod/upload/upload.lua +++ b/prod/upload/upload.lua @@ -51,6 +51,7 @@ while true do table.insert(files, file_name) end -- 这里要重置一下file_name,否则后面的文件保存时会导致前面已保存的文件变成空文件 + -- file:flush() 和 io.flush() 都没效果 file_name = nil file = nil elseif typ == "eof" then diff --git a/test/test_magick.lua b/test/test_magick.lua index 3785568..9e5661f 100644 --- a/test/test_magick.lua +++ b/test/test_magick.lua @@ -1,12 +1,21 @@ -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) +-- read from nginx var config +local magick = ngx.var.magick +ngx.log(ngx.ERR, 'var', magick) +-- or use which command to get +if not magick then + local exec = io.popen("which magick") + local tmp = exec:read("*a") + magick = string.gsub(tmp, "%s+", "") + exec:close() end -print(magick) +if not magick then + ngx.status = 500 + ngx.say("image magick not found.") + return +end + +ngx.say(magick) + --local origin = { -- "/Users/moicen/Music/alchemy/Song-of-joy.png",