關於SpingMVC上傳檔案的方法
阿新 • • 發佈:2018-12-30
一般情況下,上傳檔案總是在表單中直接提交到後臺,後臺接收檔案物件後再處理。但是,這樣一般會頁面跳轉了!要達到非同步上傳,少不了用ajax了,很多ajax封裝了優秀的上傳控制元件,這裡重點介紹SpringMVC用ajaxfileupload.js控制元件上傳檔案的方法,有不足之處還望閱者見諒以及賦予見解。
HTML頁面:
<input type="file" name="file" id="fileUpload" />
注意:name="file"中的file要與接收檔案的屬性名稱一致
JS:
data = { "personId":60,//與之關聯的人員的id(不可省略) "fileId":"fileUpload",//要上傳圖片檔案的type="file" 的id名稱(不可省略) "photoPath":"來源於..",//(可省略) "description":"圖片真漂亮"//(可省略) } $.ajaxFileUpload({ url: appPath+"/common/saveImageToByte?personId="+personId+"&photoPath="+photoPath+"&description="+description, //一個表單出來檔案之外的其他要儲存的資料 secureuri: false, //是否安全提交 fileElementId: data.fileId,//type=file的input的id dataType: "json", //返回值型別 success: function(data) { //config 即整個json引數 alert("儲存圖片成功!"); }, error: function() { //服務響應失敗處理函式 alert("儲存圖片請求出錯"); } });
java後臺程式碼:
class ImageEntity{ private long id; private long personId; private CommonsMultipartFile file;//用來接收file private String photoPath; private String description; //setter //getter } @RequestMapping(value = "/saveImage", method = RequestMethod.POST) public void saveImage(ImageInFoVO imageInFoVO,HttpServletResponse response){ CommonsMultipartFile file = ImageEntity.getFile();//獲得客戶端檔案物件 }
這樣就可以獲得file了!之後想幹嘛幹嘛!