可能这可能是基本问题,但是当我尝试使用stackoverflow中提供的各种答案时,我无法得到解决方案。
问题:
我需要从我的角度发送一个文件到服务器。我在stackoverflow中问了同样的问题,可以在这里找到,
Using Multipart without Form in Spring MVC
现在的问题是,我想再向服务器发送一个对象(不是文件,可能是JSON)。我该怎么办?
我已经尝试将Multipart文件和JSON对象合并为一个并发送它但是尝试没有成功,因为春天打了我一些例外。首先,我的方法是否正确?如果不是那么我该怎么办呢?
答案 0 :(得分:1)
我通过在控制器定义中使用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");
});
}
答案 1 :(得分:0)
我认为这可能会有所帮助How to process a multipart request consisting of a file and a JSON object in Spring restful service?
这里
@RequestParam(value="data") String jsonString
意味着,我后来以字符串的形式请求了json,我只是将这个jsonString转换为json对象。