|
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" id="file" name="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 = 4096local 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+)$")endwhile true dolocal typ, res, err = form:read() if not typ then ngx.say("{error:'error', msg:'"..tostring(err).."',imgurl:''}")returnendif typ == "header" thenif res[1] ~= "Content-Type" thenlocal 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 thenfile = io.open(file_name, "w+")if not file thenngx.say("{error:'error', msg:'failed to open file',imgurl:''}")returnendendendelseif typ == "body" thenif file thenfile:write(res) endelseif typ == "part_end" thenfile:close()file = nilelseif typ == "eof" thenbreakelse-- do nothingendendngx.say("{error:'success', msg:'上传成功!',imgurl:''}")
复制代码 |
|