一说到读取文件,很多小伙伴第一时间想到的是php,asp.net这些后台语言来实现。
javascript一直都没有提供相关的文件读取接口,但有时我们确实需要读取本地文件内容,下面是两种可能的读取方法。
使用 HTML5 中的FileReader对象
HTML5 引入的 FileReader 可以帮助我们读取本地文件,但是有一个限制,就是我们不能直接使用文件路径的方式来访问文件,而是首先需要用户选择文件(通过input标签)。
首先你需要在 html 文件中添加文件选择表单,如下:
<input type="file" id="file-input" />
<div id="file-content"></div>
接着就可以在 JavaScript 中进行(用户选择的)文件读取了:
function readSingleFile(e) {
//获取选择的文件对象
var file = e.target.files[0];
if (!file) {
return;
}
// 创建FileReader对象
var reader = new FileReader();
// load 回调
reader.onload = function(e) {
var contents = e.target.result;
alert(contents) // 内容处理
};
// 读取文件
reader.readAsText(file,"utf-8");
}
// 添加监听事件
var fileInput = document.getElementById("file-input");
fileInput.addEventListener("change", readSingleFile, false);
运行结果如下: