LUA上传文件

开发的作者是:Yichun "agentzh" Zhang (章亦春) agentzh@gmail.com

文件在:https://github.com/agentzh/lua-resty-upload

----------------------------------------------------------------------------------------

废话少说,具体步骤如下:

1、上传upload.lua到指定的目录,我的是_services/upload/conf

2、配置上传的SERVER(域名自己配制)

location = /upload {
    client_max_body_size    512k;
    
    content_by_lua '
        ngx.header["Content-Type"] = "text/plain"
        local upload = require("_service.upload.lib.upload")
        local cjson = require "cjson"

        local form = upload:new(512*1024*1024)

        form:set_timeout(2000) -- 1 sec

        while true do
            local typ, res, err = form:read()
            if not typ then
                ngx.say("failed to read: ", err)
                return
            end
            if (typ=="body") then
                ngx.say(res)
            end
            if typ == "eof" then
                break
            end
        end

        local typ, res, err = form:read()
        --ngx.say("read: ", cjson.encode({typ, res}))
    ';
}

3、HTML文件内容

<html><head>
<title>上载文件表单</title></head>
<body>
<form enctype="multipart/form-data" action="http://***.com:7662/upload" method="post">
请选择文件:<br>
<input name="upload_file" type="file"><br>
<input type="submit" value="上传文件">
</form>
</body>
</html>

4、测试

显示图片

 

posted @ 2013-05-21 11:42  李秋  阅读(2403)  评论(0编辑  收藏  举报