ajaxfileupload.js 上传多个文件

上传单个文件

JS

$.ajaxFileUpload({ 
	        url :"",
	        secureuri : false, 
	        fileElementId : 'img',  --传入file ID
	        data:{},
	        type : 'post',
	        dataType : 'json', //返回值类型 一般设置为json  
	        success : function(data, status){ //服务器成功响应处理函数  
	          	
	          	}
	        } 
	    });

后台(使用 

import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;

)

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
MultipartFile file = null;  
file = multipartRequest.getFile("img");// 获取上传文件名  
String protoName = "";
protoName =file.getOriginalFilename();	

上传多个文件

JS

$.ajaxFileUpload({ 
		 
	        url :",
	        secureuri : false, 
	        fileElementId : ['img1','img2','img3'], --多个File
	        data:{},
	        type : 'post',
	        dataType : 'json', //返回值类型 一般设置为json  
	        success : function(data, status){ //服务器成功响应处理函数  
	          	
	        } 
	    });

后台

获取一个Map,循环获取单个

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, List<MultipartFile>> fileMap =  multipartRequest.getMultiFileMap();
String dir=request.getSession().getServletContext().getRealPath("/");
File protoFile = new File(dir);
if(!protoFile.exists()){
		 		
	protoFile.mkdir();
}
Map<String, String> st = new HashMap<String, String>();
for (String key : fileMap.keySet()) { 
				
	MultipartFile file = multipartRequest.getFile(key);
				
} 

 

修改  ajaxfileupload.js 文件

如下所示: 注释 

var oldElement = jQuery('#' + fileElementId);
  var newElement = jQuery(oldElement).clone();
  jQuery(oldElement).attr('id', fileId);
  jQuery(oldElement).before(newElement);
  jQuery(oldElement).appendTo(form);

 

加上

 for(var i in fileElementId){ 
  var oldElement = jQuery('#' + fileElementId[i]); 
  var newElement = jQuery(oldElement).clone(); 
  jQuery(oldElement).attr('id', fileId); 
  jQuery(oldElement).before(newElement); 
  jQuery(oldElement).appendTo(form); 
  } 

 for(var i in fileElementId){ 
  var oldElement = jQuery('#' + fileElementId[i]); 
  var newElement = jQuery(oldElement).clone(); 
  jQuery(oldElement).attr('id', fileId); 
  jQuery(oldElement).before(newElement); 
  jQuery(oldElement).appendTo(form); 
  } 

  /*
  var oldElement = jQuery('#' + fileElementId);
  var newElement = jQuery(oldElement).clone();
  jQuery(oldElement).attr('id', fileId);
  jQuery(oldElement).before(newElement);
  jQuery(oldElement).appendTo(form);
  */

这样就可以实现多个文件上传了,但有个问题.还是用这个JS去实现单个上传就会报错。暂时能想到的解决方案。是重新复制一份JS文件,单个的用单个,多个用多个。朋友们有合适的解决办法。欢迎留言

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值