需要一个jquery控件 ajaxFileUpload.js
正常的ajax上传 无法获取到file的文件
<form>
<input type="file" id="file" name="file">
<input type="file" id="file" name="file">
<input type="file" id="file" name="file">
</form>
function uploadImage(id,pkId,entityId){
$.ajaxFileUpload({
url: "/admin/baby/babys/pic/updatepic/"+pkId+"/"+entityId+"/createTab/mainTab", //需要链接到服务器地址
fileElementId:'file_'+id+'_'+pkId, //文件选择框的id属性(必须)
dataType: 'json',
success: function (data){
hideWaitingDialog();
var i = data.indexOf("{");
if(i>0){
data = data.substring(i);
}
data = data.replace("</pre>", "");
var js = eval("("+data+")");
$("#pic_1_"+pkId+"").attr("src","\\images\\projects\\titles\\"+js.visitPath);
}
}
);
}
/**
* spring mvc 实现上传
MultipartFile file 获取一个上传对象
MultipartFile[] files 获取多个上传对象
*/
@RequestMapping(value = MvcRequestMappingPath.UPDATE_BABY_PIC, method = RequestMethod.POST)
public String update(@RequestParam(value=("file"),required=false) MultipartFile file,@PathVariable int id,@PathVariable int babyid,Model mvcModel, PrintWriter out) throws IOException {
String img = file.getOriginalFilename();
if(img!=null||!("".equals(img))){
int imgIndex = img.indexOf(".");
Date date = new Date();
String fileOld = date.getTime()+"_"+(int)(Math.random()*999)+""+img.substring(imgIndex);
String fileUrl = "E:\\jetty-distribution-9.2.10.v20150310\\webapps\\images\\projects/titles\\"+fileOld;
String VisitPath ="\\images\\projects/titles\\"+fileOld;
FileUtils.writeByteArrayToFile(new File(fileUrl), file.getBytes());
BabyPicturesEntity babyPic = null;
out.write("{'success':'success','pkId':'"+pic2.getPkId()+"','visitPath':'"+fileOld+"'}");
}
return null;
}