Post 参数中的 MultipartFile 和字符串
MultipartFile and String in Post Parameter
可能这可能是基本问题,但当我尝试从 Whosebug 提供的各种答案中尝试时,我无法得到解决方案。
问题:
我需要从 angular 向服务器发送一个文件。我在 Whosebug 中问过同样的问题,可以在这里找到,
现在的问题是,我想再发送一个对象(不是文件,可能是 JSON)到服务器。我应该怎么做?
我曾尝试将多部分文件和 JSON 对象打包成一个文件并发送,但尝试没有成功,因为 spring 给我打了一巴掌,但出现了一些异常。首先,我的方法是否正确?如果不是,那我该怎么办?
我通过在控制器定义中使用 RequestPart 注释得到了解决方案,
感谢 。它为我提供了解决问题的见解。
更新后的代码,
@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){
我的 Angular 代码是,
$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");
});
}
我认为这可能有帮助How to process a multipart request consisting of a file and a JSON object in Spring restful service?
这里
@RequestParam(value="data") String jsonString
意思是,我后来以字符串的形式被请求json,我只是将这个json字符串转换成json对象。
可能这可能是基本问题,但当我尝试从 Whosebug 提供的各种答案中尝试时,我无法得到解决方案。
问题:
我需要从 angular 向服务器发送一个文件。我在 Whosebug 中问过同样的问题,可以在这里找到,
现在的问题是,我想再发送一个对象(不是文件,可能是 JSON)到服务器。我应该怎么做?
我曾尝试将多部分文件和 JSON 对象打包成一个文件并发送,但尝试没有成功,因为 spring 给我打了一巴掌,但出现了一些异常。首先,我的方法是否正确?如果不是,那我该怎么办?
我通过在控制器定义中使用 RequestPart 注释得到了解决方案,
感谢 。它为我提供了解决问题的见解。
更新后的代码,
@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){
我的 Angular 代码是,
$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");
});
}
我认为这可能有帮助How to process a multipart request consisting of a file and a JSON object in Spring restful service?
这里
@RequestParam(value="data") String jsonString
意思是,我后来以字符串的形式被请求json,我只是将这个json字符串转换成json对象。