我需要写一个上传angular模块,使用spring boot控制器和多部分文件。但是当我上传文件时,我有一个错误
Current request is not a multipart request
我尝试了很多更改,但每次我都得到这个错误。这是我的angular文件发送器数据服务
function uploadFile (file) {
var deferred = $q.defer();
var fd = new FormData();
fd.append('file', file);
$http({
data : fd,
method: 'POST',
transformRequest: angular.identity,
url: "/api/private/upload",
contentType: false,
processData: false
}).then(function (response) {
deferred.resolve(response.data);
}, function (response) {
deferred.reject(response.message);
}).catch(function (response) {
deferred.reject(response.message);
});
return deferred.promise;
}
这是我的控制器public String singleFileUpload(@RequestParam("file") MultipartFile file) { return "redirect:/uploadStatus"; }
无论有没有multipart Resolver,它都不能工作。你能帮我上传这个文件吗?
发布于 2018-06-07 20:09:58
在uploadFile
函数中,只需将ArrayBuffer转换为blob即可。请参阅示例here
let fileReader = new FileReader();
fileReader.onloadend = (e) => {
let arrayBuffer = e.target.result;
let data = arrayBufferToBlob(arrayBuffer, file.type);
let formData = new FormData();
formData.append('file', data);
// do $http request here
};
fileReader.readAsArrayBuffer(yourFileFromInputElement);
https://stackoverflow.com/questions/45281729
复制相似问题