上传单个文件
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文件,单个的用单个,多个用多个。朋友们有合适的解决办法。欢迎留言