【问题标题】:Normal file reading using File API使用 File API 进行正常文件读取
【发布时间】:2015-09-24 16:33:27
【问题描述】:

我一直在处理我的 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。请帮忙。

【问题讨论】:

    标签: javascript html filereader fileapi


    【解决方案1】:

    一般来说,如果用户没有明确的操作来启动文件系统访问,您的应用程序的代码将无法从用户的文件系统获取文件的内容,但也有例外情况,您可以在 @987654321 阅读有关它们的更多信息@。

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

    • 在文档的标记中包含 &lt;input type="file"&gt; 元素
    • 在您的文档中创建拖放区,供用户将文件拖入

    MDN 有一个非常好的 Using files from web applications 操作指南,详细介绍了如何使其工作。

    还有一个非常好的 HTML5Rocks Reading files in JavaScript using the File APIs 指南,提供了类似的信息和示例。

    【讨论】:

    • 那么,如果没有用户的输入,这不可能吗?我不希望用户决定文件。我希望每次都将其固定为 test.txt
    • 没有用户输入是不可能的。出于安全原因。考虑一下,如果您运行的任何 Web 应用程序可以静默地自动从您的计算机上读取它想要读取的任何文件,而无需询问您或您知道它正在发生时,会发生什么。
    猜你喜欢
    • 2019-02-02
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    相关资源
    最近更新 更多