W mojej postaci jest wiele plików do przesłania, używając FormData
tylko jeden plik ładuje, ale wybieram więcej niż jeden plik do przesłania, poniżej jest kodJS: Jak wysłać wiele plików za pomocą FormData (jQuery Ajax)
HTML
<form name="uploadImages" method="post" enctype="multipart/form-data">
<input type="file" name="photo[]" value="">
<input type="file" name="photo[]" value="">
<input type="file" name="photo[]" value="">
</form>
JS
var ajaxData = new FormData();
ajaxData.append('action','uploadImages');
jQuery.each($("input[name^='photo']")[0].files, function(i, file) {
ajaxData.append('photo['+i+']', file);
});
$.ajax({
url: URL,
data: ajaxData,
cache: false,
contentType: false,
processData: false,
type: 'POST',
dataType:'json',
success: function(data) {
if (data.status == 'success') {
location.reload();
}
}
});
jestem u śpiewać PHP
na serwerze, używając tylko HTML attribute name
i, e photo
tylko jestem w stanie zapisać pliki, nazwy dynamicznych plików nie będą działać dla mnie.
jego pracy w porządku, ale problemem jest to, kiedy przesłać same pliki (które mają takie same nazwy), a następnie coraz błąd, jest jakaś szansa załatw to. –
proszę opisać błąd – Yuriy
Yuriy dzięki za pomoc, błąd opisany wyżej to błąd po stronie serwera, nic nie robię z 'JS'. Chociaż opisuję błąd: kiedy wybieram ten sam plik dwa razy w czasie to otrzymuję błąd 500 i, e. 'Wewnętrzny błąd serwera'. –