Я хотів би мати html-файл, який організовує певні файли, розкидані по всьому моєму жорсткому диску. Наприклад, у мене є два файли, на які я хотів би зробити посилання:
Проблема полягає в тому, що я хочу, щоб посилання функціонували як ярлик на файл. Я спробував наступне:
<a href="C:\Programs\sort.mw">Link 1</a>
<a href="C:\Videos\lecture.mp4">Link 2</a>
... але перше посилання нічого не робить, а друге посилання відкриває файл у Chrome, а не в VLC.
Мої запитання такі:
Чи є спосіб налаштувати мій HTML, щоб посилання розглядалися як ярлики на файли?
Якщо немає можливості налаштувати HTML, чи існують інші способи акуратного посилання на файли, розкидані по всьому жорсткому диску?
Мій комп'ютер працює під управлінням Windows 7, а мій веб-браузер - Chrome.
Вам потрібно використовувати протокол file:///
(так, це три скісні риски), якщо ви хочете посилатися на локальні файли.
<a href="file:///C:\Programs\sort.mw">Link 1</a>
<a href="file:///C:\Videos\lecture.mp4">Link 2</a>
Це ніколи не відкриє файл у ваших локальних програмах автоматично. Це з міркувань безпеки, про які я розповім в останньому розділі. Якщо він відкриється, то тільки в браузері. Якщо ваш браузер може відобразити файл, він це зробить, інакше він, ймовірно, запитає вас, чи хочете ви завантажити файл.
Деякі браузери, наприклад, сучасні версії Chrome, навіть відмовляться переходити з протоколу http на файловий протокол, тому вам краще переконатися, що ви відкриваєте його локально, використовуючи файловий протокол, якщо ви взагалі хочете це робити.
file:///
?Перша частина URL-адреси - це протокол. Протокол - це кілька букв, потім двокрапка і дві скісні риски. HTTP://і FTP://
є дійсними протоколами; C:/
не є таким, і я впевнений, що він навіть не схожий на протокол.
C:/також не є дійсною веб-адресою. Браузер може припустити, що це має бути
http://c/` із вказаним порожнім портом, але це не спрацює.
Ваш браузер може не припустити, що він посилається на локальний файл. У нього мало підстав для такого припущення, оскільки загальнодоступні сайти зазвичай не намагаються посилатися на локальні файли користувачів.
Тому, якщо ви хочете отримати доступ до локальних файлів: скажіть йому використовувати файловий протокол.
Тому що це частина File URI scheme. У вас є можливість вказати хост після перших двох косих рисок. Якщо ви пропустите вказівку хоста, буде вважатися, що ви посилаєтеся на файл на вашому власному комп'ютері. Це означає, що file:///C:/etc
є ярликом для file://localhost/C:/etc
.
Ваш браузер реагуватиме на ці файли так само, як він реагував би на такий самий файл у будь-якій точці Інтернету. Ці файли не відкриватимуться у вашому стандартному обробнику файлів (наприклад, MS Word або VLC Media Player), і ви не зможете зробити нічого, наприклад, попросити Провідник файлів відкрити місцезнаходження файлу.
**Це надзвичайно добре для вашої безпеки.
Сайти у вашому браузері не можуть дуже добре взаємодіяти з вашою операційною системою. Якщо хороший сайт може сказати вашому комп'ютеру відкрити lecture.mp4 в VLC.exe, то шкідливий сайт може сказати йому відкрити virus.bat в CMD.exe. Або він може просто вказати вашому комп'ютеру запустити кілька файлів Uninstall.exe або відкрити Провідник мільйон разів.
Це може бути незручно для вас, але HTML і безпека браузера насправді не були розроблені для того, що ви робите. Якщо ви хочете мати можливість відкривати lecture.mp4 у VLC.exe, подумайте про те, щоб замість цього написати десктопну програму.
Якщо на вашому комп'ютері працює IIS, ви можете додати каталог, до якого ви намагаєтеся дістатися, як Віртуальний каталог. Для цього натисніть правою кнопкою миші на вашому сайті в IIS і натисніть "Додати віртуальну директорію". Назвіть віртуальну папку. Вкажіть віртуальну папку на місце розташування Вашої папки на Вашому локальному комп'ютері. Ви також повинні надати облікові дані, які мають привілеї для доступу до конкретної папки, наприклад, ІМ'Я ХОСТА\ім'я користувача та пароль. Після цього ви зможете отримати доступ до файлу у віртуальній папці як до будь-якого іншого файлу на вашому сайті.
http://sitename.com/virtual_folder_name/filename.fileextension
До речі, це працює і з браузером Chrome, який інакше не сприймає файл-протокол file://.
Сподіваюся, це комусь допоможе :)
У кращому випадку - джанкі;
<a href="file://///server/folders/x/x/filename.ext">right click </a></td>
а потім клацніть правою кнопкою миші, виберіть опцію "скопіювати місце", а потім вставте в url.