360°网站管家_运维学院_提供最新最全的服务器运维视频教程与网站维护视频教程

 找回密码
 快速注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
1 2 3 4
查看: 2577|回复: 0
打印 上一主题 下一主题

ajaxFileUpload + lua-resty-upload 上传文件

[复制链接]

823

主题

909

帖子

4623

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4623
跳转到指定楼层
楼主
发表于 2015-9-28 17:05:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

亲!这问题您也搜索很久了吧?不如咨询下我们吧


613049616  613049616  613049616   613049616   613049616


ajaxFileUpload下载地址
地址:http://pan.baidu.com/s/1mgJypz6
html页面
  1. <!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代码
  1. 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:''}")
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则


Archiver|手机版|小黑屋|360wzgj Inc. 百度统计

GMT+8, 2024-11-2 08:26 , Processed in 0.067278 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表