Save files in javascript array

1

Good afternoon, I have a question: I want to upload several images without having multiple inputs and without having to select all the files at once using the input file multiple. I was given the idea of throwing an array of images and in the submit I would send the array. But I do not know how to play in an array the image after loading it in the input, does anyone have any examples of this?

    
asked by anonymous 10.02.2016 / 18:50

1 answer

0

I suppose this is the input:

<input type="file" multiple="multiple"/>

This is JavaScript:

var Imagens=[],//A lista de imagens (array)
Input=document.querySelector("input");//sua única input
/*
 * Acima estão as variáveis do exemplo;
 * Embora você poderia fazer algo mais elegante pela base no seu projeto.
*/
Input.onchange=function(){
    /*
     * Ao adicionar arquivos, então chama a função
     * da propriedade onchange no seu elemento (DOM).
    */
    Input=this;
    for(var i=0,Length=Input.files.length;Length>i;i++)
    /*
     * Esse é um loop para cada arquivo adicionado;
     * Vai de 0 até o fim;
     * Variável i é a posição atual na lista em número (integer, 0)
    */
        (function(i){
            Imagens.push(Input.files[i])
            /*
             * Adiciona a imagem atual para a array (suponho que é uma lista)
             * Vai acontecer o mesmo para cada imagem;
             * Input.files é uma array com as imagens (e uma propriedade da sua input);
             * Input.files[0] retornaria o primeiro item da lista (array)
             * Input.files[1] retornaria o segundo item da lista (array)
             * A função Array.prototype.push adiciona o item no primeiro parâmetro para sua array, na última posição
            */
        })(i);
    i=Length=Input=null
}

Note!

This is a simple and incomplete example, so you can do it better, but also on the compression side.

    
10.02.2016 / 19:10