2016-10-31 24 views
-1

一連の画像を選択してから、ajax呼び出しでデータをアップロードしたいと考えています。以下は私のhtmlです。ファイルをforループに追加できません。複数のファイルを選択してajaxにアップロードする

<form name="nameform" method="POST" enctype="multipart/form-data"> 
    <input id="file_input" type="file" name="files[]" multiple>  
    <input type="button" name="button" value="Submit" onClick="getInfo(this.form)" /> 
</form> 


    var oMyForm = new FormData(); 
    var filelenth = file_input.files; 
    for (var i = 0; i < filelenth.length; i++) { 
    var fileCheck = file_input.files[i]; 
    if (!fileCheck.type.match('image.*')) { 
     continue; 
    } 
    oMyForm.append('files[]', fileCheck, fileCheck.name); 
    } 

    $.ajax({ 
    url: 'URL', 
    data: oMyForm, 
    dataType: 'json', 
    processData: false, 
    contentType: false, 
    type: 'POST', 
    success: function(data) { 
     alert(data); 
    } 
    }); 

+1

JavaScriptコンソールを開きます。エラーメッセージを読んでください。 – Quentin

+0

oMyForm.append( "file"、file.files [0]);これを使用して1つのファイルオブジェクトを送信することができます –

+0

http://jsfiddle.net/pt04d754/4/ –

答えて

1
var data2 = new FormData(); 
    $.each($("#attachmentInfo :file"), function(i, file) { 
     data2.append('attachmentFiles', file.files[0]); 
    }); 

     $.ajax({ 
      type: 'POST', 
      contentType: false, 
      processData: false, 
      dataType: 'text', 
      url: 'savefile2.html', 
      data: data2, 
      success: function(responseData, textStatus) { 

      }, 
      complete: function(textStatus) { 

      }, 
      error: function(responseData) 
      { 

      } 
     }); 
関連する問題