1. 程式人生 > >關於SpingMVC上傳檔案的方法

關於SpingMVC上傳檔案的方法

一般情況下,上傳檔案總是在表單中直接提交到後臺,後臺接收檔案物件後再處理。但是,這樣一般會頁面跳轉了!要達到非同步上傳,少不了用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了!之後想幹嘛幹嘛!