如何使用输入类型文件对上传的文件进行编码和解码

时间:2016-08-17 06:45:13

标签: javascript encoding base64

我为用户创建了多个文件上传选项。我想对上传的文件进行编码和解码...在这里我编写用于将图像转换为base64字符串的程序...如何编码以及使用base64解码文件。

我的代码是

<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)

尝试window.atob(base64string),我认为它是blob对象的utf8字符串