-- 指定模块引用目录,否则无法加载同目录下的其他文件 --package.path = package.path .. ';/usr/local/opt/openresty/nginx/scripts/?.lua'; package.path = package.path .. ';/?.lua'; local cjson = require "cjson" local pl = require "pl.pretty" local http = require 'resty.http' local uuid = require("lib.my_uuid") local upyun_upload = require("lib.upyun_upload") local get_wx_media = require("lib.wx_download") local verify = require('lib.jwt_verify') local httpc = http:new() local authHeader = ngx.req.get_headers().Authorization local sudoerToken = ngx.req.get_headers().HtySudoerToken verify(httpc, authHeader, sudoerToken) local function convert() ngx.log(ngx.INFO, "convert_audio -> upyun_upload -> ", pl.dump(upyun_upload)); 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, 'convert_audio -> REQ_BODY -> ', ngx.req.get_body_data()) local input_audio_file = get_wx_media(httpc, req_body["payload"]["media_id"], cjson, pl); local converted_audio_file = file_dir .. "/" .. uuid.uuid() .. ".mp3"; ngx.log(ngx.INFO, "convert_audio -> input audio file -> ", input_audio_file); ngx.log(ngx.INFO, "convert_audio -> converted audio filename -> ", converted_audio_file); local cmd = "/usr/local/bin/file_convert" .. " " .. input_audio_file .. " " .. converted_audio_file ngx.log(ngx.INFO, 'convert_audio -> audio convert command -> ', cmd) local result, _, code = os.execute(cmd) if result and code == 0 then ngx.log(ngx.INFO, "convert_audio - > result -> ", result); upyun_upload.upload(converted_audio_file, nil); else ngx.status = 500 ngx.log(ngx.ERR, "converted_audio_file *FAILED*") end end convert();