Uploadify上传文件方法

Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示。不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中的使用,您也可以点击下面的链接进行演示或下载。

先给大家展示下效果图:

Uploadify上传文件方法

修改:

报找不到uploadify-cancel.png文件。找到uploadify.css,找到.uploadify-queue-item .cancel a {,修改文件的路径。
好多人都说,在chrome、Firefox上使用uploadify的时候获取不到session导致上传出错。需要手工将session id方法附加参数中。但是我这里并没有这么做,并且在chrome、Firefox上传没问题,不知道为什么,也许是因为我用的最新版的原因吧。

要点:

uploadify的js配置已经比较全面,在实际使用的时候可以适当的删减一些方法和属性。

一般情况下的单文件上传只考虑onSelect、onUploadError和onUploadSuccess即可。

如果是多文件上传,那么在单文件上传的基础上再加上对整个队列的监听onQueueComplete。

开始上传所有文件:$('#file_upload').uploadify('upload', '*');

取消上传:$('#file_upload').uploadify('cancel', parm);

parm为空:取消上传第一个文件。

parm为'*':取消所有的上传文件。

parm为file id:取消该file id对应的文件。

修改附加的一些变量:$('#file_upload').uploadify("settings","formData",{"name1":"中文name","parm1":"修改后的参数"});参数为json,如果该json中的某个变量已经有了,那么覆盖该属性,如果没有,那么追加该属性。
服务端设置编码为:upload.setHeaderEncoding("UTF-8");,这样解析的文件名称为正常中文。但是解析的附加变量中文乱码,这里做一次转码(总感觉转码比较low,不知道是哪里配置的不对)。new String(item.getString().getBytes("iso8859-1"),"utf-8")

服务端最后返回文件保存路径(这里可以随便定义返回内容)。

步骤:

配置uploadify

<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> <%String path = request.getContextPath();%> <%String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"https://www.jb51.net/";%> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <base href="<%=basePath %>"> <title></title> <link type="text/css" href="https://www.jb51.net/jquery-easyui-1.4.3/themes/default/easyui.css"> <link type="text/css" href="https://www.jb51.net/jquery-easyui-1.4.3/themes/icon.css"> <script type="text/javascript" src="https://www.jb51.net/jquery-easyui-1.4.3/jquery.min.js"></script> <script type="text/javascript" src="https://www.jb51.net/jquery-easyui-1.4.3/jquery.easyui.min.js"></script> <script type="text/javascript" src="https://www.jb51.net/uploadify/uploadify/jquery.uploadify.min.js"></script> <link type="text/css" href="https://www.jb51.net/uploadify/uploadify/uploadify.css" /> </head> <script> $(function(){ $(function() { $(function() { $('#file_upload').uploadify({ 'uploader' : '<%=basePath%>/UploadServlet',//服务端地址 'swf' : 'uploadify/uploadify/uploadify.swf', 'buttonImage' : 'uploadify/uploadify/img/chooseFile.jpg',//重载按钮图片 'buttonClass' : 'some-class',//重载按钮样式 'height':19,//按钮宽度和高度 'width':76, 'queueID' : 'file_queue',//显示文件队列的一个div,在页面定义 'formData' : {'parm1':'参数1','year':'2016'},//附加参数,可以在upload参数中更改 'buttonText':'选择文件',//按钮显示文字,如果有图片的话,会被图片挡住 'fileSizeLimit':'1MB',//文件最大 'auto':false,//自动提交 'fileTypeExts' : '*.gif; *.jpg; *.png',//文件类型 'fileTypeDesc' : '只能上传图片',//选择文件的时候的提示信息 'multi' : true,//多选 'queueSizeLimit' : 3,//队列中文件的个数 'onSelect' : function(file) { console.log(file); alert("选择文件:" + file.name + "\n类型="+file.type+"\n大小="+file.size); if(file.size>1024000){//文件太大,取消上传该文件 alert("文件大小超过限制!"); $('#file_upload').uploadify('cancel',file.id); } }, 'onUploadSuccess' : function(file, data, response) { alert('每个文件上传成功后触发 ' + file.name + ' was successfully uploaded with a response of ' + response + ':' + data); }, 'onUploadComplete' : function(file) { alert('每个文件上传完成,无论对错都触发! ' + file.name + ' finished processing.'); }, 'onUploadError' : function(file, errorCode, errorMsg, errorString) { alert('上传出错 ' + file.name + ' could not be uploaded: ' + errorString); }, 'onQueueComplete':function(queueData){ alert("队列中的所有文件上传完成后触发。\n"+queueData.uploadsSuccessful+'\n'+queueData.uploadsErrored) }, }); }); }); }); function upload(){ $('#file_upload').uploadify("settings","formData",{"name1":"中文name","parm1":"修改后的参数"}); $('#file_upload').uploadify('upload', '*');//上传所有文件 } function cancel(){ $('#file_upload').uploadify('cancel', '*');//取消所有文件 } function destroy(){ alert("取消upload上传,变成原来样式!"); $('#file_upload').uploadify('destroy');//destory } </script> <body> <div title="说明"> </div> <div> <a href="javascript:void(0)">开始上传</a> <a href="javascript:void(0)">取消上传</a> <a href="javascript:void(0)">destroy</a> <input type="file" /> <div></div> </div> </body> </html>

服务端

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgyfwf.html