-- 指定模块引用目录,否则无法加载同目录下的其他文件 --package.path = package.path .. ';/usr/local/opt/openresty/nginx/scripts/?.lua'; package.path = package.path .. ';/?.lua'; local upyun_upload = {} local strip_path = require("strip_path") local Upyun = require('upyun') function upyun_upload.upload(filepath, filename) local upyun, err = Upyun:new({ user = ngx.var.upyun_operator, passwd = ngx.var.upyun_password, localFilePath = filepath }) if not upyun then ngx.status = 500 ngx.log(ngx.ERR, "failed to initialize upyun: " .. err) return end local bucket = ngx.var.upyun_bucket local directory = ngx.var.upyun_directory if not filename then filename = strip_path.strip_path(filepath) end local savePath = bucket .. "/" .. directory .. "/" .. filename local info, err = upyun:upload_file(savePath, nil, nil) if not info then ngx.status = 502 ngx.log(ngx.ERR, "failed to upload file : " .. err) return else ngx.status = 200 local fullpath = ngx.var.upyun_cdn .. directory .. "/" .. filename ngx.log(ngx.INFO, "UPYUN URL -> ", fullpath) ngx.say(fullpath) end end return upyun_upload