JQuery AJAX enviando matriz de arquivos do formulário
Consegui esse código em algum lugar para fazer upload de fotos sem atualizar o navegador. No entanto, como não gostei do arquivo do remetente, decidi usar o antigo com o qual trabalhava. O problema é que ele está enviando uma matriz em vez de uma sequência do arquivo javascript (pretendia-se enviar vários arquivos em vez de apenas um). Aqui está o código que cria a matriz:
input.addEventListener("change", function (evt) {
document.getElementById("response").innerHTML = "Loading . . ."
var i = 0, len = this.files.length, img, reader, file;
for ( ; i < len; i++ ) {
file = this.files[i];
if (formdata) {
formdata.append("uploaded_file[]", file);
} } }
if (formdata) {
$.ajax({
url: "img_upload.php",
type: "POST",
data: formdata,
processData: false,
contentType: false
}).done(function (res) {
/* *** show uploaded item *** */
/* *** show response *** */
});
}
Meu conhecimento em Javascript é muito fraco e não consigo descobrir como modificar esse código para enviar o arquivo carregado por si só, em vez de uma matri
Eu tentei isso de forma independente, mas nenhum deles funcionou (send_img é o nome / ID do formulário):
formdata = document.send_img.uploaded_file.value;
formdata = document.getElementById("uploaded_file");
formdata = new formdata ($('#send_img'));
formData = $('#send_img').serialize();
formdata.replaceWith("uploaded_file[]", file);
Eu também tentei eliminar ofor
para usar a mesma tecla (0), mas não funciona dessa maneira. O código condensado para img_upload.php é:
$fileName = $target . $_FILES["uploaded_file"]["name"];
$fileTmpLoc = $_FILES["uploaded_file"]["tmp_name"];
$fileName = $new_name . "." . $fileExt;
move_uploaded_file($fileTmpLoc, "images/images/temp/$fileName");
Como posso enviar o arquivo carregado (ou o cabeçalho ou o que ele deve enviar) em apenas uma sequência e, no caso de um segundo arquivo ser adicionado, substituir o primeiro em vez de criar um segundo valor na matri