实现 FileReader 的现代浏览器可以做到这一点。要测试您的浏览器,请检查是否定义了 window.FileReader。
这是我几天前编写的一些代码来执行此操作。在我的例子中,我只需将一个文件拖到 HTML 元素上,该元素在此处引用为 panel.in1,但您也可以使用(请参阅下面的参考)。
if (window.FileReader) {
function dragEvent (ev) {
ev.stopPropagation ();
ev.preventDefault ();
if (ev.type == 'drop') {
var reader = new FileReader ();
reader.onloadend = function (ev) { panel.in1.value += this.result; };
reader.readAsText (ev.dataTransfer.files[0]);
}
}
panel.in1.addEventListener ('dragenter', dragEvent, false);
panel.in1.addEventListener ('dragover', dragEvent, false);
panel.in1.addEventListener ('drop', dragEvent, false);
}
reader.onloadend 函数获取您在事件处理程序中恢复为 this.result 的文件文本。
我从 MDN 获得了有关如何执行此操作的大部分机制:https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications
此代码显示了读取文件的基础知识,文件本身被拖到文本区域中,我认为,这是一个比必须通过选择文件机制更好的界面,但这些机制同样可以很好地选择要读取的文件。
这是我对类似问题的回答:使用javascript获取文本文件内容 https://stackoverflow.com/questions/16922945/get-text-file-content-using-javascript