2015-11-05 34 views
1

也許這可能是基本問題,但是當我嘗試從stackoverflow中提供的各種答案時,我無法獲得解決方案。MultipartFile和Post參數中的字符串

問:

我需要從我的角度將文件發送到服務器。我問在計算器同樣的問題,也可以在這裏找到,

Using Multipart without Form in Spring MVC

現在的問題是,我想送多一個對象(不是一個文件,可能是JSON)到服務器。我應該怎麼做?

我試着將Multipart文件和JSON對象封裝成一個併發送,但嘗試不成功,因爲彈簧給我帶來了一些例外。首先,我的方法是否正確?如果不是那麼我該怎麼辦?

回答

0

我通過使用控制器定義RequestPart註釋,

由於https://stackoverflow.com/a/30043173/3121941得到了解決。它爲我提供瞭解決問題的見解。

更新的代碼,

@RequestMapping(value = "/someUrl", method = RequestMethod.POST, consumes = { 
      "multipart/form-data", MediaType.APPLICATION_JSON_VALUE }) 
    public Object handleUpload(
      @RequestPart("paramOne") String paramOne, 
      @RequestPart("paramTwo") String paramTwo, 
      @RequestPart("file") MultipartFile file, Principal user){ 

和我的角碼,

$scope.upload = function() { 
     var file = $scope.file; 
     var obj = new Object(); 
     var fd = new FormData(); 
     fd.append("paramOne","xyz"); 
     fd.append("paramTwo","xyz"); 
     fd.append("file", file);   
     var uploadUrl = "/someUrl"; 
     $http.post(uploadUrl, fd, { 
      transformRequest: angular.identity, 
      headers: { 
       'Content-Type': undefined 
      } 
     }).success(function (data) { 
       console.log("Call successful"); 
     }); 
    }