formData SSM 框架实现多图上传
formData部分代码:
var formData = new FormData();
for(var ii = 0; ii < flag; ii++){
if (editor[ii+1] != undefined){
//文本
alert(ii+1);
var single_json = {
"inner": editor[ii+1].txt.html(),
"order": ii+1
};
result.push(single_json);
}else {
//图片
//获取id
var pic_id = "#pic"+(ii+1).toString();
formData.append('file', $(pic_id)[0].files[0]);
//FormData.set 和 append() 的区别在于,如果指定的键已经存在, FormData.set 会使用新值覆盖已有的值,而 append() 会把新值添加到已有值集合的后面。
//注意:如果你的服务器端是PHP那么为了与php命名习惯一致在名称中需要添加[],如formData.append('files[]',files[i]);
//这里加一个order的数组
var single_order = {
"order": ii+1
};
files_order.push(single_order);
}
}
//FormData.set 和 append() 的区别在于,如果指定的键已经存在, FormData.set 会使用新值覆盖已有的值,而 append() 会把新值添加到已有值集合的后面。
//注意:如果你的服务器端是PHP那么为了与php命名习惯一致在名称中需要添加[],如formData.append('files[]',files[i]);
服务端代码
Controller:
/**
* 上传feeds流的段子
* @param sentence
* @param response
* @return
*/
@RequestMapping(value = "upload_feeds_sentences.do", method = RequestMethod.POST)
@ResponseBody
public ServerResponse upload_feeds_sentences(String files_order,@RequestParam(value = "file",required = false) MultipartFile[] files,@RequestParam(value = "pic",required = false) MultipartFile pic,@RequestParam(value = "video_file",required = false) MultipartFile video_file,String title,String select,String kind,String author,String sentence, HttpServletResponse response, HttpServletRequest request ){
return iAdminService.upload_feeds_sentences(files_order,files,pic,video_file, title, select, kind, author,sentence, response,request);
}
service: