Reputation: 14394
I'm running python -m SimpleHTTPServer 8888
from the directory my_server
and I want to access index.html
file that contains a javascript command that reads my_file.csv
, but the file is not in my_server
or one of its subfolders.
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
If I create a symbolic link inside my_server
that points to my_file.csv
and then access it like this:
http://localhost:8888/my_server/index.html?file=symbolic_link_to_my_file.csv
is there any way I could follow this symbolic link with javascript inside index.html
to read my_file.csv
?
<script>
//read URL params
...
d3.csv(file, ...)
</script>
Upvotes: 2
Views: 4154
Reputation: 17014
Reading the docs on the d3.csv
command you need to send it a full URL. https://github.com/mbostock/d3/wiki/CSV
What is the value of file
in the d3.csv(file
command? If you're sending it something like "filename.csv", it may just be appending that to your current URL or current directory. You probably want to send it a full URL like this (with a slash at the beginning):
/folder/myfile.csv
If you type this URL into your browser does it give you the CSV file?
http://localhost:8888/my_server/index.html?file=symbolic_link_to_my_file.csv
If it does then the contents of file
should probably be /my_server/index.html?file=symbolic_link_to_my_file.csv
.
Upvotes: 1
Reputation: 944014
JavaScript, running in the browser, has no access to the file system at all (for that matter, nor does anything else in the browser).
The client only sees URIs.
It is the responsibility of the webserver to serve up the appropriate resource for the URI.
You need to edit / configure SimpleHTTPServer to follow the symlink and / or make sure the user the server is running at has permission to access the file at the other end of the link.
Upvotes: 5