Nella mia forma sono presenti più caricamenti di file, utilizzando FormData
viene caricato solo un file, anche se sto selezionando più di un file da caricare, di seguito è il codiceJS: Come inviare più file utilizzando 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();
}
}
});
sono u canta PHP
sul server, usando HTML attribute name
i, e photo
solo io sono in grado di salvare i file, i nomi di file dinamici non funzioneranno per me.
il suo bel lavoro, ma il problema è quando ho caricato stessi file (che hanno stesso nome) quindi ottenere l'errore, c'è qualche possibilità di gestire questo. –
si prega di descrivere l'errore – Yuriy
Yuriy grazie per il vostro aiuto, l'errore sopra descritto è errore 'lato server', niente con' JS'. Anche se sto descrivendo l'errore: quando scelgo lo stesso file due volte alla volta, ricevo un errore 500 io, e. 'Errore interno del server'. –