Javascript:了解文件接口(interface)

标签 javascript html html-input

我正在开始使用 Javascript 并尝试了解一些基础知识。这些问题不是专门针对文件接口(interface)的,而是我想弄清楚的。

在我的 HTML 文件中,我有一个文件类型输入。

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

然后在我的 JS 文件中我有:

var fileVar = document.getElementById('fileInput').files[0];

这很好用,filevar 的类型是 File

现在我正在尝试了解 files 属性的工作原理。

在 W3 中,API 定义为:

 interface FileList {
      getter File? item(unsigned long index);
      readonly attribute unsigned long length;
    };

我正在尝试弄清楚如何使用 files 访问 FileList 中的各个文件。 它似乎没有在任何地方定义。数组 files 来自哪里?

最佳答案

files属性返回 FileList .

files HTMLInputElement Interface 的属性,即 <input> 的 DOM 接口(interface)标签。它由支持 HTML5 文件 API 的浏览器实现。

要访问单个文件,您可以像任何其他列表/数组一样遍历它们。例如:

var files = element.files; //where `element` is a file input element reference
//`files` references a FileList, you can iterate over it and access its File objects
for (var i = 0; i < files.length; i++) {
    console.log('File '+ i +"'s name = " + files[i].name +
        '; size: ' + files[i].size + ' bytes');
}

Demo

MDN 有一个很好的教程 using the File API

关于Javascript:了解文件接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15091213/

相关文章:

javascript - 关于node.js内部异步I/O机制的困惑

asp.net - 如何使用 asp.net 处理程序设置 html 正文背景图像?

javascript - 使用 jquery 的 $.post 的非常简单的代码显示整个代码而不是 echo

javascript - 更改视口(viewport)硬件像素缩放

ios - HTML5 Safari iOS 只能访问相机而不是照片库

html - 输入数字接受尾随破折号

javascript - 使用 Pulumi 创建简单 Azure HDInsight Spark 集群时出错

javascript - 如何从 localhost url 读取图像并在 javascript 中获取其宽度和高度

JavaScript:小于 + 大于

css - 透明的 css 在 chrome 中不起作用