項目需要動態傳遞參數到后台,查看了一下Huploadify的源碼,可以在option中進行設置,但是js中reach不到該變量,於是將option變量設為全局,在onUploadStart參數中進行動態設置參數,OK,成功!
注:uploadify(flash version)實現圖片上傳功能,依賴於flash的上傳插件瀏覽器兼容性不夠,於是找了Huploadify替代uploadify,原因如下:
1、不依賴於flash。
2、庫文件大小是uploadify的三分之一。
3、瀏覽器兼容性測試,支持ie11、firefox(版本 33.1.1)、chrome(版本 38.0.2125),移動端支持安卓,iPhone圖片上傳(其他瀏覽器沒測)。
4、不用改服務端。
git下載地址:https://github.com/Double-Lv/Huploadify
下載后如下css和js文件在head中引入(jquery.Huploadify.js要在jquery庫文件后引入):
Huploadify.css
jquery.Huploadify.js

使用Huplodify的demo
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>批量導入</title> <link rel="stylesheet" type="text/css" href="plug-in/Huploadify/Huploadify.css"/> <script type="text/javascript" src="plug-in/jquery/jquery-1.8.3.js"></script> <script type="text/javascript" src="plug-in/Huploadify/jquery.Huploadify.js"></script> <style type="text/css"> </style> <script type="text/javascript"> $(function(){ $('#upload').Huploadify({ auto:false, fileTypeExts:'*.xls;*.xlsx', multi:true, //formData:{type:'0',style:$("#style").val()}, //導入管理數據 fileSizeLimit:999999, showUploadedPercent:true,//是否實時顯示上傳的百分比,如20% showUploadedSize:true, removeTimeout:9999999, uploader:'excelTempletController.do?uploadExcel&tableName=${tableName}&requestId=${requestId };jsessionid=${pageContext.session.id}', successTimeout:120000, onUploadStart:function(){ option.formData={type:'0',style:$("#style").val()}; }, onInit:function(){ //alert('初始化'); }, onUploadComplete:function(){ }, onDelete:function(file){ console.log('刪除的文件:'+file); console.log(file); }, onUploadSuccess:function(file,data,response){ var dt = $.parseJSON(data); $('div.uploadify-queue-item :contains("'+ file.name +'")').after("<span class='up_filename' style='color:red;'>"+ dt.msg + "</span>"); } }); $("input[name='style']").click(function(){ $("#style").val($(this).val()); }); }); </script> </head> <body> <div> 請選擇方式:<input name="style" type="radio" value="1" checked="checked"/>追加數量 <input name="style" type="radio" value="0" />覆蓋<br/> <input id="style" type="hidden" value="1"/> </div> <div id="upload"> <span>請選擇*.xls或*.xlsx文件</span> </div> <div > </div> </body> </html>
后台處理的Controller方法