2016-08-10 2 views
1

Я дал несколько параметров файла загрузки, но он хранит все в одной переменной, но я не получаю, как хранить отдельно кодированное значение файла в отдельной переменной. Он должен создавать переменную и хранить закодированное значение в соответствии с загрузкой файла.как сохранить несколько закодированных значений в нескольких переменных

<html> 
<body> 

<input id="inputFileToLoad" type="file" onchange="encodeImageFileAsURL();" multiple /> 
<div id="imgTest"></div> 
<script type='text/javascript'> 

    function encodeImageFileAsURL(index) { 
     var filesSelected = document.getElementById("inputFileToLoad").files; 
     index = index || 0; 
     if (filesSelected.length > 0 && index < filesSelected.length) { 
      var fileToLoad = filesSelected[index]; 

      var fileReader = new FileReader(); 

      fileReader.onloadend = function(fileLoadedEvent) { 
       var srcData = fileLoadedEvent.target.result; // <--- data: base64 

       var newImage = document.createElement('img'); 
       newImage.src = srcData; 

       document.getElementById("imgTest").appendChild(newImage); 
       if (index < filesSelected.length) { 
        encodeImageFileAsURL(index + 1) 
       } 
       console.log(srcData);  
      } 
      fileReader.readAsDataURL(fileToLoad); 
     } 
    } 
</script> 
</body> 
</html> 

ответ

1

Вы можете сохранить переменную в массиве, а затем получить доступ к ней, когда захотите.

var sourceArray = new Array(); // put this before the function delaction 


       fileReader.onloadend = function (fileLoadedEvent) { 
        var srcData = fileLoadedEvent.target.result; // <--- data: base64 

        sourceArray.push(srcData); 

        var newImage = document.createElement('img'); 
        newImage.src = srcData; 

        document.getElementById("imgTest").appendChild(newImage); 
        if (index < filesSelected.length) { 
         encodeImageFileAsURL(index + 1) 
        }} 

        console.log(sourceArray); 
+0

Но это не показывает никакой ценности в консоли – user5397448

+0

есть пропущенный} скобка, а также добавить объявление массива за пределы функции, я попробовал, и она работает штрафы @ user5397448 –

+0

я попробовал то же самое, но это не работая здесь – user5397448

Смежные вопросы