2017-11-28 5 views
0

ジャージーのRESTサーバーを作成し、ファイルのアップロードを受信します。 これは私が書いたチュートリアルです:https://gist.github.com/aitoroses/4f7a2b197b732a6a691dファイルのアップロードjquery

Postmanでサーバーをテストしようとするとすべてうまく動作します。私は、キー、フォームデータ、ボディを選択しました:ファイル、値:私の写真のJPEG

私は何をしようとすると、ここではフォームのHTMLとjQuery を使用してファイルをアップロードすることですが、私のフォームで

<form> 
<input id="imgFile" type="file" accept="image/*" value="Add file"> 
        <input id="buttonPostReview" class="buttonSend" type="submit" value="Submit"> 
</form> 

、ここれます私のjqueryの

var postFile = function(e) { 
    e.preventDefault(); 
    var imgFile = $('#imgFile').val(); 
    var upLoalImgUrl = endPointUrl + 'webresources/photo'; 
    console.log(imgFile); 
    console.log('uploading..'); 

    $.ajax({ 
      type: "POST", 
      url: upLoalImgUrl, 
      data: imgFile, 
      async: false, 
      cache: false, 
      contentType: false, 
      enctype: 'multipart/form-data', 
      processData: false, 
      success: function (returnData) { 
       console.log(returnData); 
       alert("Data Uploaded: "); 
      } 
     }); 
} 

しかし、私はエラー415を得た - はサポートされていないメディアタイプ あなたはjqueryのを使用してファイルをアップロードする方法を私を見ることができますか?私はいくつかの検索をしようとしますが、これを行う方法を見つけることができます

+1

あなたがいるFormDataオブジェクト – epascarello

答えて

-1

$(...).val()ファイル入力からファイルを取得しないだけで、ファイルの名前を返します。あなたは$("#imgFile")[0].files[0]を行うとFormDataでファイル送信する必要があります。

var data = new FormData(); 
data.append('file', $("#imgFile")[0].files[0]); 
$.ajax({ data: data, ... }); 
+2

でファイルをアップロードする方法はありませんが、秒私の構文を忘れてしまいました。より良い? – charlietfl

+0

右に項目を追加する方法はありませんアヤックス... – brandonchinn178

+0

それで私はそれを正しい方法でしますか?私はあなたの方法に従うと私はコード400悪い要求を持っています – coinhndp

関連する問題