2015-11-05 74 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"); 
     }); 
    }