2

我正在python -m SimpleHTTPServer 8888从该目录运行,my_server并且我想访问index.html包含读取的 javascript 命令my_file.csv的文件,但该文件不在my_server其子文件夹中或其子文件夹之一。

path/to/my_server $ ln -s /some_path/to/my_file.csv symbolic_link_to_my_file.csv
path/to/my_server $ python -m SimpleHTTPServer 8888

如果我在其中创建一个符号链接my_servermy_file.csv然后像这样访问它:

http://localhost:8888/my_server/index.html?file=symbolic_link_to_my_file.csv

有什么办法可以按照这个带有javascript的符号链接index.html来阅读my_file.csv吗?

<script>
    //read URL params
    ...
    d3.csv(file, ...)
</script>
4

2 回答 2

5

在浏览器中运行的 JavaScript 根本无法访问文件系统(就此而言,浏览器中也没有其他任何东西)。

客户端只能看到 URI。

为 URI 提供适当的资源是 Web 服务器的责任。

您需要编辑/配置 SimpleHTTPServer 以遵循符号链接和/或确保运行服务器的用户有权访问链接另一端的文件。

于 2012-05-16T22:04:08.860 回答
1

阅读有关d3.csv命令的文档,您需要向其发送完整的 URL。https://github.com/mbostock/d3/wiki/CSV

file命令中的值是什么d3.csv(file?如果您要发送“filename.csv”之类的内容,它可能只是将其附加到您当前的 URL 或当前目录。您可能希望向它发送一个完整的 URL,如下所示(开头带有斜杠): /folder/myfile.csv

如果您在浏览器中输入此 URL,它会为您提供 CSV 文件吗? http://localhost:8888/my_server/index.html?file=symbolic_link_to_my_file.csv

如果是这样,那么 的内容file可能应该是/my_server/index.html?file=symbolic_link_to_my_file.csv.

于 2012-05-16T22:08:56.670 回答