• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ajaxFileUpload+lua-resty-upload上传文件

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

ajaxFileUpload下载地址

地址:http://pan.baidu.com/s/1mgJypz6

html页面

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>Untitled</title>
    <script src="jquery-1.7.1.js"></script>
    <script src="ajaxfileupload.js"></script>
     <script type="text/javascript">
        $(function () {
            $(":button").click(function () {
                ajaxFileUpload();
            })
        })
        function ajaxFileUpload() {
            $.ajaxFileUpload
            (
                {
                    url: '/dsideal_yy/rating/test', //用于文件上传的服务器端请求地址                    
                    fileElementId: 'file1', //文件上传空间的id属性  <input type="file"  />
                    dataType: 'json', //返回值类型 一般设置为json
                    success: function (data)  //服务器成功响应处理函数
                    {                        
                        alert(data.msg);
                    }
                }
            )
            return false;
        }
    </script>
  </head>
  <body>
    <body>
        <p><input type="file" id="file1" name="file" /></p>
        <input type="button" value="上传" />
    </body>    
</html>

lua代码

local upload = require "resty.upload"
local uuid =  require "resty.uuid";

local chunk_size = 4096
local form = upload:new(chunk_size)
local file

--获取文件名
function get_filename(res) 
    local filename = ngx.re.match(res,'(.+)filename="(.+)"(.*)') 
    if filename then  
        return filename[2] 
    end 
end 

--获取文件扩展名
function getExtension(str)
    return str:match(".+%.(%w+)$")
end

while true do
    local typ, res, err = form:read()    
    if not typ then         
         ngx.say("{error:'error', msg:'"..tostring(err).."',imgurl:''}")
         return
    end
    if typ == "header" then
        if res[1] ~= "Content-Type" then
            local file_id = uuid.new()
            local filen_ame = get_filename(res[2])
            local extension = getExtension(filen_ame)
            local dir = string.sub(file_id,0,2)            
            local file_name = "/usr/local/tomcat7/webapps/dsideal_yy/html/down/Material/"..dir.."/"..file_id.."."..extension            
            if file_name then
                file = io.open(file_name, "w+")
                if not file then
                    ngx.say("{error:'error', msg:'failed to open file',imgurl:''}")
                    return
                end
            end
        end
     elseif typ == "body" then
        if file then
            file:write(res)            
        end
    elseif typ == "part_end" then
        file:close()
        file = nil
    elseif typ == "eof" then
        break
    else
        -- do nothing
    end
end

ngx.say("{error:'success', msg:'上传成功!',imgurl:''}")

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Lua笔记——8.Lua&amp;C发布时间:2022-07-22
下一篇:
关于在Cocos2dx中注册触摸事件——Lua发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap