首页 > 解决方案 > 如何在本地主机上使用 XMLHttpRequest 读取 JavaScript 中的本地文件?

问题描述

我正在开发一个要在本地 Apache 服务器上运行的小型 Web 应用程序。对于这个小项目,我必须读取网络(共享)驱动器上的文件,但我一直坚持尝试读取不在服务器根目录中的本地文件一段时间。我尝试了很多不同的东西,但似乎没有任何效果,如果有人遇到过这个问题或有想法,请随时通知我。

这是我的 JavaScript 的一部分,它读取文件的标题以查看文件的大小。

    var fileURL = "file:///c:/Users/Billy/test.csv";
    var totalFileSize = 0;


    sizeRequest.open('HEAD', fileURL, true);
    sizeRequest.onreadystatechange = function() {
        if (this.readyState == this.DONE) {
            if (this.status === 200) {
                totalFileSize = this.getResponseHeader('content-length');
                alert('Total file size = ' + totalFileSize);
            }
        }
    };
    sizeRequest.send();

如果文件位于服务器的根目录下,它可以完美运行。

我在网上发现的另一件事可能会有所帮助,那就是将这些行添加到 FireFox 的新 users.js 文件中

user_pref("capability.policy.policynames", "localfilelinks");
user_pref("capability.policy.localfilelinks.sites", "http://localhost"); 
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");

可悲的是,这并不能解决我的问题。

清除:

Using a Apache server
Using http://localhost
Using FireFox
Trying to read a file from a local location(instead of server-root)

我已经坚持了一段时间,所以任何帮助都会很棒,

提前致谢

标签: javascriptfilefirefoxxmlhttprequestlocalhost

解决方案


推荐阅读