JS: Como enviar vários arquivos usando FormData (jQuery Ajax)
No meu formulário vários uploads de arquivos estão lá, usandoFormData
apenas um arquivo está sendo enviado, embora eu esteja selecionando mais de um arquivo para enviar, segue o código
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();
}
}
});
estou a usarPHP
no servidor, usandoHTML attribute name
eu ephoto
somente eu sou capaz de salvar arquivos, nomes dinâmicos de arquivos não funcionam para mim.