【发布时间】:2017-11-27 23:56:50
【问题描述】:
我一直在查看this,但似乎我的问题出在其他地方。我正在尝试上传文件。 input 目前定义为:
<input
type="file"
style="display: none;"
name="file"
multiple
nv-file-select
uploader="uploader">
这是执行上传的方式:
var uploader = $scope.uploader = new FileUploader({
url: 'http://localhost:8080/rest-api/dl4j/we/uploadModel'
});
uploader.onAfterAddingFile = function($modelFile) {
var fd = new FormData();
fd.append('file', $modelFile.file);
$http.post($modelFile.url, fd, {
headers: {
'Content-Type': undefined
},
transformRequest: angular.identity
})
.then(
function (data) {
alert("upload success");
},
function (data, status) {
alert("upload error");
}
);
};
这是 Spring REST 端点:
@PostMapping(WordEmbeddingApiPaths.UPLOAD_MODEL)
@RequestMapping(method=RequestMethod.POST, headers={"Content-Type=multipart/form-data"})
public ResponseEntity<WordVectorListDto> uploadModel(
@RequestParam("file") MultipartFile file,
RedirectAttributes redirectAttributes) {
LOGGER.debug("POST uploadModel");
return new ResponseEntity<WordVectorListDto>((WordVectorListDto)null, HttpStatus.OK);
}
问题是,Spring 抛出了一个异常,告诉我参数 file 不存在:
org.springframework.web.multipart.support.MissingServletRequestPartException: Required request part 'file' is not present
这是请求信息:
我怎样才能使这个文件上传工作?
【问题讨论】:
-
你完成了吗?我的 Angular2 应用遇到了同样的问题