2016-02-22 17 views
5

Ich UI wie folgt mit:
enter image description hereWie kann ich mit PHP Ajax in mehrere Bilder hochladen

ich mehrere Videos mit Ajax in PHP hochladen möchten. Dafür habe ich FormData() in jQuery versucht. Aber es wird nur ein Bild hochgeladen, nicht mehr.

Meine Form file:

<form enctype="multipart/form-data" action="/test.php" 
method="post" class="putImages"> 
    <input name="media[]" type="file" multiple/> 
    <input class="button" type="submit" alt="Upload" value="Upload" /> 
    <button type="button" id="add"></button> 
</form> 

Meine jQuery-Datei:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#add").click(function() { 
      var $div = $('div[id^="inputdiv"]:last'); 
      var num = parseInt($div.prop("id").match(/\d+/g), 10) + 1; 
      var $klon = $div.clone().prop('id', 'inputdiv' + num).appendTo("#athleteRegister").insertBefore("#submitbutton"); 
      $('#inputdiv' + num).find("input").attr('name', 'file[' + num + ']'); 
      $('#inputdiv' + num).find("input").val(""); 
      $('#inputdiv' + num).find("input").attr('id', 'file' + num); 
      $('#inputdiv' + num).find("input").css("outline", "none"); 
      $('#inputdiv' + num).find("div.col-sm-1 i").attr('class', 'fa fa-minus'); 
      $('#inputdiv' + num).find("div.col-sm-1 button").attr('id', 'remove'); 
      $('#inputdiv' + num).find("img").attr('alt', 'remove'); 
     }); 
     $('#sub').click(function() { 
      jQuery.each($('input[name^="media"]')[0].files, function(i, file) { 
       data.append('file-' + i, file); 
      }); 
      $.ajax({ 
       type: 'POST', 
       data: data, 
       url: "../admins/test", 
       cache: false, 
       contentType: false, 
       processData: false, 
       success: function(data) { 
        alert(data); 
       } 
      }); 
     }); 
    }); 
</script> 

Kann jemand dieses Problem lösen? Danke!

+1

Bitte verwenden Sie 'serializeArray()' mit Eingaben an die Server-Seite zu senden. Oder Sie können Plugins von Drittanbietern wie https://blueim.github.io/jQuery-File-Upload/ – Nisam

+0

@Nisam verwenden, die ich nur mit dem oben genannten Code ausführen muss –

Antwort

1

Für den Upload von Ajax-Dateien würde ich die Verwendung von dropzone.js empfehlen. Es hat eine fantastische Dokumentation und Flexibilität ist großartig.

Verwandte Themen