Открываем локальные файлы (file://) с помощью Chrome

У меня есть страница с некоторыми формами. Все ссылки отлично работают в IE. Они открываются в новой вкладке, когда пользователь нажимает гиперссылку; однако я понял, что при использовании Chrome ссылка не открывается. Я продолжаю нажимать, но ничего не открывается. Единственный способ открыть файл - это скопировать гиперссылку, открыть новую вкладку в Chrome, вставить и перейти.

<a href="FILE:\\outsideserver\files\shared\form1.pdf" target="_blank">Form1</a>

Это то, что делает браузер? Потому что я попробовал это с FireFox и тоже не работает? Есть ли способ обойти? без установки чего-либо в браузере? Потому что мой пользователь любит Chrome. Спасибо заранее за ответы.

5 ответов

Решение

Вы не можете получить доступ к файлам за пределами вашего сервера или "SandBox", в песочницу входят файлы, которые пользователь отправляет в браузер или на ваш сервер.

Если бы доступ из браузера к файлам ПК с веб-страниц был возможен, это было бы проблемой безопасности.

Ответ в том, что вы не можете с вашим подходом, и что более важно, вы не должны. Поведение Chrome на самом деле является правильным и защищает вас от доступа злонамеренных пользователей и / или сценариев к вашим локальным ресурсам.

FILE Протокол будет обращаться к локальной или определенной сети с именованными ресурсами, которые не будут доступны удаленному пользователю, который посещает ту же страницу. Другими словами, вы можете иметь outsideserver отображается как сетевой ресурс / диск, но кто-то другой не будет (это не относится к IP-адресам)

Вот что вы можете сделать:

Используйте расширение ниже для хрома. Это будет работать.

Включить ссылки на локальные файлы

Ниже оба варианта работают и тестируются.

<a href="\\server\folder\">Link 2</a>

<a href="file:///C:/folder/test.txt">Link 3</a>
   

Я знаю, что это довольно старое решение, но проблема остается и в 2023 году — невозможность просмотра ссылок file:/// в браузерах без ручного взаимодействия или взаимодействия с пользователем. Мой вариант использования может быть редким, но вот обходной путь для моего бедняка, если кто-то захочет его использовать:https://gist.github.com/cemerson/cb2da58243837b41b4aaa4541a2380f3(Код быстрый и неряшливый, поэтому не стесняйтесь его чистить)

По сути, это просто простая HTML-страница, которая принимает значение строки запроса пути к целевому файлу и дает пользователю возможность получить URL-адрес пути и/или файл:/// для вставки/просмотра себя в браузере. Возможность получить работающий URL-адрес HTTPS, указывающий на файл на локальном/общем диске, была моей основной потребностью/целью, и на данный момент это работает.

Щелкните правой кнопкой мыши и выберите "открыть как новую вкладку".

Другие вопросы по тегам