I have a small php system i created for myself. This system contains a few .doc and .docx file documents. I want to be able to open them directly from the browser and not downloading them.
I created a link:
<a href="file:///c:/mysite/myfile.docx">myfile</a>
But FireFox does not open the link. While href="http://localhost/myfile.docx"
works fine - it offers me to download the file.
Any ideas how can i do it? Maybe change something in firfox options / security settings? And if you are at it, is there any chance to do it in IE8?
Thanks.
Although i still think it is a programming question, it was answered here: https://superuser.com/questions/103026/open-a-direct-file-on-the-hard-drive-from-firefox-file
Both Firefox and IE8 support the File URI scheme.
Apparently (from the same url):
but:
Access to local files in Firefox can't be done unfortunately due to security restrictions. As far as I know (I have asked here repeated times myself) it's not even possible to allow select sites through a configuration setting or similar.
There is a workaround (ponentially unsafe and to be handled with care), you could register a custom protocol as outlined in this question.
I used symlink for windows added that file to my resources folder by creating symlink. How to create symlink shown here for windows http://www.sevenforums.com/tutorials/278262-mklink-create-use-links-windows.html
That worked for me while same problem. Cheers!
My working code to open locally uploaded Files via Firefox (51.0) and the actual Internet Explorer (11).
saved as open.php
"pfad" is a path BELOW the local Webroot (in my case customer folder) while "file" is - of course - the file which I want to open.
I call it like so: ...href="open.php?pfad=<my_path>&file=<the_file>"
where both parameters are urlencoded
Security restrictions are a big issue when trying to access a file outside of your project. What I would recommend (if you are using IIS 7+), is to create a virtual directory to the folder that contains your docs on your C drive. Then you can access your files from the C drive by using the VP name and the host/localhost will be included in your url rather than the
"file:///"
.However, if you are using IIS Express, you will have to manually add the virtual directory by updating the
"applicationhost.config"
file. Take a look at this link for more detail on how to set that up.http://bhagirath-j-patel.blogspot.com/
Hope this helps.
Which syntax did you use? The correct syntax for e.g.Edit: not relevant anymore as OP has edited his question to include the syntax.c:/path/to/file.ext
would have beenfile:///c:/path/to/file.ext
.Note that this doesn't work at all if the file is stored at the server machine which in turn is a physically different machine than the client machine (where the webbrowser runs).