使用File API读取正常文件

时间:2015-09-24 16:33:28

标签: javascript html html5 filereader fileapi

我一直坚持在我的HTML程序中处理文件API。到目前为止,这是我的代码:

<html>
<script>
var file = 'C://test.txt';
var myBlob = new Blob([file], {type : "text/plain"});
var myReader = new FileReader();
myReader.addEventListener("loadend", function(e){
    document.write(e.srcElement.result);
});
myReader.readAsText(myBlob);
</script>
</html>

问题是,当我运行它时,输出为C://test.txt。但我想输出我的文件的内容而不是我的文件名。我已经检查过我的浏览器是最新的。我还必须坚持使用HTML和JavaScript。请帮忙。

1 个答案:

答案 0 :(得分:3)

一般情况下,如果没有用户启动文件系统访问的明确操作,应用程序的代码无法从用户的文件系统获取文件的内容 - 但是有例外,您可以在{{ 3}}

因此,对于从某个任意来源运行的Web应用程序来访问用户本地文件系统中的文件,您必须提供一些东西,让用户自己选择他们希望您的应用程序使用的文件;基本上这意味着在您的代码中执行以下任一操作:

  • 在文档的标记中包含<input type="file">元素
  • 在文档中创建拖放式dropzone,供用户将文件拖入

MDN有一个非常好的https://stackoverflow.com/a/22033170/2827823操作方法,其中包含了如何使其工作的所有细节。

还有一个非常好的HTML5Rocks Using files from web applications指南,它提供了类似的信息和示例。