単純なファイルアップロードを可能にしようとしていますが、Springは私と遊びたくありません。ファイルアップロードは角度ファイルアップロードとSpringでは動作しません
これは、ファイルのアップロードのためのエンドポイントである - 現在、多くのことをやっていない:
@PostMapping(WordEmbeddingApiPaths.UPLOAD_MODEL)
@RequestMapping(method=RequestMethod.POST, consumes = {"multipart/form-data"})
public ResponseEntity<WordVectorListDto> uploadModel(
@ModelAttribute("file") MultipartFile file,
// @RequestBody Object obj,
RedirectAttributes redirectAttributes) {
LOGGER.debug("POST uploadModel");
return new ResponseEntity<WordVectorListDto>((WordVectorListDto)null, HttpStatus.OK);
}
私はいくつかのことを試してみたが、それはすべての異なるエラーで終わります。私は多分それはトリックだと思ったので、私はちょうど@RequestBody
を使用しようとしましたが、その後、私は例外が言ってもらう:
Content type 'multipart/form-data;boundary=----WebKitFormBoundarycV8dFSvDV6U9OwJq' not supported
または
Content type 'multipart/form-data' not supported
を私は試したものに応じて。
私は@RequestPart("file") MultipartFile file
で行く場合、私は@RequestParam("file")
についても同様である
Required request part 'file' is not present
を参照してください。
私はこれについて何が難しいか分かりませんが、私はクライアントからそのファイルを入手する方法を誰かに教えてください。この要求は大丈夫
です:あなた以下
は、私がエンドポイントに送信したリクエストを見ることができますか?
Webクライアント:
var uploader = $scope.uploader = new FileUploader({
url: 'http://localhost:8080/rest-api/dl4j/we/uploadModel'
});
uploader.onAfterAddingFile = function($modelFile) {
console.info('onAfterAddingFile', $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");
}
);
};
index.htmlを
<label class="btn btn-default btn-file" style="float:right;">
Upload
<input
type="file"
style="display: none;"
name="file"
multiple
nv-file-select
uploader="uploader">
</label>
可能な重複http://stackoverflow.com/questions/42044639/file-upload-wont-work-with-angular -file-upload-and-spリング)。 – georgeawg