angularjsでイメージファイルをservletに送信したい。
いつもお世話になっております。
angularjsでイメージファイル(MultipartFile)をサーブレットに送信したいのですが、
springの@RequestParamアノテーションで上手く取得できません。
jsp
<form method="POST" id="image-form" enctype="multipart/form-data">
<input type="file" id="imageFile" name="imageFile" accept="image/jpg,image/jpeg,image/png" />
<div id="search-button">
<input type="button" ng-click="searchCtrl.imageSearch();">
</div>
</form>
javascript
var $form;
var formData = new FormData();
$form = $("#image-form");
formData.append("imageFile", $form[0]);
request = $http({
method : 'post',
url : "/addImage",
data : data,
headers : {
'Content-Type' : undefined
},
transformRequest : null
});
return (request.then(handleSuccess, handleError));
java
@RequestMapping(value = "/addImage", method = RequestMethod.POST)
@ResponseBody
public List<SearchImageRequestModel> logo_upload(HttpServletRequest request, HttpServletResponse response,
Model model, @PathVariable("service_id") String serviceId, @RequestParam(value = "imageFile") MultipartFile file)
throws ServletException, IOException {
...
@RequestParamではMultipartFileは取得できないのでしょうか。
恐れ入りますが、ご教示のほどお願い致します。
追記
jsでファイルがちゃんと取得できていませんでした。
以下の書き方で正常に取得できました。
$('#imageFile').prop('files')[0].name;