在一个变量中编码多个文件

时间:2016-08-10 05:18:18

标签: javascript html

我正在使用多个文件上传选项。上传后显示上传了2个文件,但是当我尝试在控制台中打印编码值时,它只是编码并获取我上次上传文件的值。我如何在一个变量中一次编码多个文件。这是我尝试过的。

    <html>
    <body>

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

    var filesSelected = document.getElementById("inputFileToLoad").files;
    if (filesSelected.length > 0) {
      var fileToLoad = filesSelected[0];

      var fileReader = new FileReader();

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

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

        document.getElementById("imgTest").innerHTML = newImage.outerHTML;
        //alert("Converted Base64 version is " + document.getElementById("imgTest").innerHTML);
    var reslut =    document.getElementById("imgTest").innerHTML; 
        console.log("Converted Base64 version is " +reslut);

      }
      fileReader.readAsDataURL(fileToLoad);
    }
  }
</script>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

如果递增变量小于let conditions = [(emailInput!.isEmailValid), (passwordInput!.isPasswordValid)...] var index = 0 for condition in conditions{ if(condition){ print("Condition \(index) is true") } else{ print("Condition \(index) is false") } index += 1 } encodeImageFileAsURL,您可以使用递归为每个.files调用.appendChild(),将.innerHTML替换为filesSelected ;将.length事件替换为loadend事件

load

plnkr http://plnkr.co/edit/74AQhTFeK87GQ5BgPJNx?p=preview