ブラウザで選択したファイルをサーバ側でアップロードしたいです。
クライアント側の実装は以下の通りです
html
1<div class="excelTemplate"> 2 <h2>エクセルテンプレートファイル</h2> 3 <input type="file" accept=".xlsx" file-model="excelTemplate"> 4</div>
※fileModelは別途定義済み
javascript
1$scope.dl_excel = function(query, queryParam) { 2 $http.get(Const.APIURL.issueTmpId).success(data => { 3 const id = data.id; 4 5 let formData = new FormData(); 6 formData.append('file', $scope.excelTemplate); 7 const uploadUrl = Const.APIURL.uploadTmpExcel.replace(':id', id); 8 const options = { 9 headers: { 10 'Content-Type' : undefined 11 } 12 }; 13 $http.post(uploadUrl, formData, options).success(success => { 14 // 別関数の呼び出し 15 }).error(err => { 16 console.log(err); 17 }); 18 }).error(err => { 19 console.log(err); 20 }); 21};
サーバー側は以下の通りです
java
1@POST 2@Path("/tmp/upload/{id}") 3public void uploadTmpExcel(@PathParam("id") String id, @RequestParam(value="file") MultipartFile file) { 4 // TODO ファイルローカルへの保存 5}
この状態で実行してdl_excelを呼び出すと、サーバ側で以下のExceptionが発生します。
org.codehaus.jackson.JsonParseException: Unexpected character ('-' (code 45)) in numeric value: expected digit (0-9) to follow minus sign, for valid numeric value
どこが間違っているのでしょうか。
あなたの回答
tips
プレビュー