Откройте прямой файл на жестком диске из Firefox (файл: ///) - PullRequest
6 голосов
/ 27 января 2010

У меня есть небольшая система php, которую я создал для себя. Эта система содержит несколько файлов документов .doc и .docx. Я хочу иметь возможность открывать их прямо из браузера, а не загружать их.

Я создал ссылку: <a href="file:///c:/mysite/myfile.docx">myfile</a> Но FireFox не открывает ссылку. Пока href="http://localhost/myfile.docx" работает нормально - он предлагает мне скачать файл.

Есть идеи, как мне это сделать? Может быть, что-то изменить в настройках / настройках firfox? И если вы на это, есть ли шанс сделать это в IE8?

Спасибо.

Ответы [ 6 ]

5 голосов
/ 01 февраля 2010

Хотя я все еще думаю, что это вопрос программирования, здесь ответили: https://superuser.com/questions/103026/open-a-direct-file-on-the-hard-drive-from-firefox-file

И Firefox, и IE8 поддерживают схему File URI .

Вот несколько примеров, действительных для Системы Windows, ссылаясь на то же файл c: \ WINDOWS \ clock.avi

Файл: // локальный / с | /WINDOWS/clock.avi
Файл: /// C | /WINDOWS/clock.avi
Файл: // локальный / с: /WINDOWS/clock.avi
Файл: /// C: /WINDOWS/clock.avi

Хотя последнее является наиболее очевидным и человекочитаемым, первый самый полный и правильный.

Видимо (из того же URL):

Браузеры Mozilla отказываются следить за URL-адресами файлов на странице, полученной по протоколу HTTP.

но:

Браузеры Mozilla могут быть настроены так, чтобы отменять это ограничение безопасности, как описано в " Ссылках на локальные страницы Mozillazine".

2 голосов
/ 27 января 2010

К сожалению, доступ к локальным файлам в Firefox невозможен из-за ограничений безопасности. Насколько я знаю (я сам неоднократно спрашивал здесь), даже невозможно разрешить выбор сайтов с помощью параметра конфигурации или подобного.

Существует обходной путь (небезопасный и небезопасный, с которым нужно обращаться осторожно), вы можете зарегистрировать собственный протокол, как указано в в этом вопросе

1 голос
/ 11 августа 2015

Я использовал symlink для Windows, добавил этот файл в мою папку ресурсов, создав символическую ссылку. Как создать символическую ссылку, показанную здесь для Windows http://www.sevenforums.com/tutorials/278262-mklink-create-use-links-windows.html

Это сработало для меня, пока та же проблема. Ура! * * 1004

1 голос
/ 27 января 2010

Какой синтаксис вы использовали? Правильный синтаксис, например, для c:/path/to/file.ext было бы file:///c:/path/to/file.ext. Редактировать: больше не актуально, так как ОП отредактировал свой вопрос, включив в него синтаксис.

Обратите внимание, что это вообще не работает, если файл хранится на сервере, который, в свою очередь, физически отличается от компьютера от клиентского компьютера (на котором работает веб-браузер).

0 голосов
/ 18 ноября 2016

Мой рабочий код для открытия локально загруженных файлов через Firefox (51.0) и реальный Internet Explorer (11).

$pfad = trim(strip_tags(stripslashes(urldecode($_REQUEST['pfad']))));
$datei = trim(strip_tags(stripslashes(urldecode($_REQUEST['file']))));
exec ('start c:\\WINDOWS\\system32\\explorer.exe /select /seperate /n, /e, '.str_replace('/','\\',$pfad).utf8_decode($datei));

сохранено как open.php

"pfad" - это путь НИЖЕ локального Webroot (в моем случае папка клиента) в то время как «файл» - это, конечно, файл, который я хочу открыть.

Я называю это так: ... href = "open.php? Pfad = & file = "

где оба параметра имеют кодировку урлен

0 голосов
/ 14 мая 2012

Ограничения безопасности являются большой проблемой при попытке получить доступ к файлу за пределами вашего проекта. Я бы порекомендовал (если вы используете IIS 7+), чтобы создать виртуальный каталог в папке, содержащей ваши документы на диске C. Затем вы можете получить доступ к своим файлам с диска C, используя имя VP, и хост / localhost будет включен в ваш URL, а не "file:///".

Однако, если вы используете IIS Express, вам придется вручную добавить виртуальный каталог, обновив файл "applicationhost.config". Посмотрите на эту ссылку для более подробной информации о том, как ее настроить.

http://bhagirath -j-patel.blogspot.com /

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...