javascript - 通过 JavaScript 查看上传的数组时遇到问题

标签 javascript html fileapi

我正在使用文件 API 上传文件并将其内容保存为 JavaScript 中的变量。这是我到目前为止所得到的,但是我得到的结果是未定义

 <body>
    <input type="file" id="file" name="file" multiple />

    <script>
      function handleFileSelect(evt) {

        // grab the file that was uploaded which is type File. 
        // evt is the event that was triggered
        // evt.target returns the element that triggered the event 
        // evt.target.files[0] returns the file that was uploaded 
        var file = evt.target.files[0]; 

        // instantiate a FileReader object to read/save the file that was uploaded
        var reader = new FileReader();

        // read the file and save as an array 
        fileArray = reader.readAsArrayBuffer(file);
        window.alert("hello");
        window.alert(fileArray);
      }

      document.getElementById('file').addEventListener('change', handleFileSelect, false);
    </script>

最佳答案

FileReader 是异步的。你应该设置onload

    var reader = new FileReader();
    reader.onload = function(){
          console.log(reader.result);
        };
       // read the file and save as an array 
   reader.readAsArrayBuffer(file);

关于javascript - 通过 JavaScript 查看上传的数组时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34584893/

相关文章:

javascript - 通过 Javascript 插入的 attr 换行的 CSS 伪元素内容值

javascript - 在 Canvas 折线图中显示负值

javascript - 在 Microsoft Edge 中实例化文件对象

javascript - 使用 HTML5 技术操作和上传表单文件数据

javascript - 单击单选按钮时如何启用文本字段

javascript - 在浏览器中打开新选项卡时防止 onBlur 事件发生

javascript - React 将值从下拉列表传递回父组件

javascript - 在两个 3D 点之间对齐 BoxGeometry

html - Tumblr 中的水平导航栏问题 (CSS/HTML)

javascript - Cordova 检索并删除超过 30 天的文件?