Як відобразити локальні зображення в Chrome за допомогою протоколу file: //?


23

Я хотів би мати можливість вказати шлях до локального файлу для зображення на веб-сторінці, що надходить через http за допомогою Chrome - чи це можливо?

Я пам'ятаю, як це робив за допомогою IE, але не можу пригадати, як! Деякі надійні налаштування, я думаю ...

Відповіді:


14

ви можете конвертувати зображення в код base-64, наприклад за допомогою " http://duri.me/ " і скопіювати результат у браузер! Подобається:

<img width='16' height='16'  src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAApklEQVQ4jWP8//8/Ay5Q4s6GU7Jn5y9GBgYGBiacuokELKTYSpQByKB68UkMMUExQ0ZkPsVeYEQPREZGRpK8gOGCdy/PwTEyH8ZGF8MbBgwMDAxC4kZ4xfAaALMFGfz//5+6gYjXBS+fXUHhaxjEMqKrQXGBglU8SgyIS+mgYHR5DAPIAYz////HavL5DQVwtmHABAyND44tZGRgwBMG2DRhAxR7AQBhgT3yD6eBRwAAAABJRU5ErkJggg=='>

7
Ця інформація комусь може бути корисною, але я думаю, що вона не відповідає на це питання.
G-Man каже: "Відновіть Моніку"

12

Оскільки ви згадали про "Chrome", ви можете використовувати розширення Chrome для цього, щоб дозволити локальний доступ до своїх файлів.

Виконайте такі дії:

1) У локальній папці, де розміщені ваші зображення, створіть цей файл під назвою 'manifest.json' та введіть це:

{
  "name": "File Exposer",
  "manifest_version": 2,
  "version": "1.0",
  "web_accessible_resources": ["*.jpg","*.JPG"]
}

2) Помістіть це ваш хроновий адресний рядок: chrome: // extensions /

3) Переконайтесь, що прапорець "Режим для розробника" (угорі праворуч)

4) Натисніть кнопку "Завантажити розпаковане розширення"

5) Перейдіть до локальної папки, де розміщені зображення та файл manifest.json, натисніть кнопку ОК

6) Тепер у списку має бути вказано розширення "Exposer File" та встановити галочку проти "Enabled". Якщо папка знаходиться на мережевому диску чи іншому повільному диску або має багато файлів, це може зайняти 10-20 секунд або більше, щоб відобразитись у списку.

7) Зверніть увагу на рядок "ID", який був пов'язаний з вашим розширенням. Це EXTENSION_ID

8) Тепер у вашому HTML-файлі ви можете отримати доступ до файлу з наступним, змінивши "EXTERNSION_ID" на будь-який ідентифікатор, який створило ваше розширення:

<img src='chrome-extension://EXTENSION_ID/example1.jpg'>

Зауважте, що * .jpg є рекурсивним, і він автоматично відповідатиме файлам у зазначеній папці та всіх підпапках, вам не потрібно вказувати для кожної підпапки. Також зауважте, її регістр справ.

У тезі 'img' ви не вказуєте оригінальну папку, її відносну частину цієї папки, тому потрібно вказати лише підпапки.

Якщо ви модифікуєте файл manifest.json, вам потрібно буде натиснути посилання "Перезавантажити (Ctrl + R)" поруч із розширенням.


8

Не локальні веб-сторінки не мають доступу до локальних файлів у Chrome або будь-якому сучасному веб-переглядачі.

Ви можете змінити це за допомогою LocalLinks ( для Firefox ), але він працюватиме лише у вашій власній машині.


2
не працюватимуть для зображень
Willem D'Haeseleer

Я думаю, що хром німий, я намагався на about:blankсторінці, і це не дозволяло, я втомився відкривати локальний HTML-файл, і він працював, навіть для зображень, незважаючи на те, що сказав @ WillemD'Haeseleer. Мій код був таким:drawing = new Image(); drawing.src = "C:/Users/S/Videos/net.png";
Шаян

2

у Chrome це виглядає приблизно так

file:///C:/sample.txt

Я після цього робив щось подібне, розміщувався в Інтернеті, але переглядав локальні файли користувачів .... <! DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.0 Strict // EN" " w3.org/TR /xhtml1/DTD/xhtml1-strict.dtd "> <html xmlns =" w3.org/1999/xhtml "> <head> <meta http-equiv =" Content-Type "content =" text / html; charset = utf -8 "/> <title> приклад </title> </head> <body> <img src =" файл: /// c: /graphics/image.jpg "height =" 200px "width =" 200px "/ > <h1> Ласкаво просимо </h1> <p> Привіт, світ! </p> </body> </html>
JSH

1
Я просто спробував .html і .jpg файли з файлом: /// notation, обидва були візуалізовані правильно. Чи можете ви опублікувати скріншот, на якому зображено адресний рядок та частину вмісту?
KutscheraIT

спробуйте jsh.learningict.net - очевидно, зображення у вас не буде, але код показує вам уявлення про те, що я хочу
JSH

Я можу лише здогадуватися, що ви посилаєтесь на тег зображення, який також чудово працює, коли я замінюю src на <img src = "файл: /// c: \ test.jpg" height = "200px" width = "200px" > c: \ test.jpg - допустимий jpg на цьому шляху і показує прекрасне.
KutscheraIT

цікаво, чи це тоді вісь Osx? src ref працює добре в адресному рядку Chrome, тільки не в HTML-коді
JSH

2

Якщо ви хочете протестувати локальне зображення на реальному веб-сайті, ви можете запустити локальний веб-сервер і встановити URL-адресу, наприклад http://127.0.0.1:8123/img.jpg на сторінці за допомогою DevTools

Існує різні способи запуску веб-сервера: 1. Розширення для браузера "Веб-сервер для Chrome" з визначеною папкою https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb

  1. Якщо у вас є python, тоді запустіть вбудований http-сервер у вибраній папці

    python3 -m http.server 8123 # python 3 версія
    python -m SimpleHTTPServer 8123 # версія python 2

  2. Використовуйте готовий для виробництва сервер, наприклад nginx , apache


0

У моєму випадку мені потрібно було лише побачити, як виглядатиме одна невелика зміна зображення різних розмірів. Найпростіше було зберегти як ... повну веб-сторінку на робочому столі, а потім відкрити її. Я перевіряю та редагую зображення src.


Здається, це зовсім не те, про що просили ОП, навіть не пов’язані. Будь ласка, читайте питання уважно і не відповідайте та не коментуйте, якщо у вас є відповідна інформація, яку потрібно додати.
music2myear

1
Але це те, що я шукав
Семюель Томпсон

-1

Гаразд, ви не можете просто дозволити комусь іншому отримати доступ до вашої локальної файлової системи! Вам знадобиться серверний сервіс, як Apache, нехай ваш комп'ютер працює 24 години на день, переконайтеся, що він не перегрівається, дбає про хорошу безпеку та багато іншого, щоб зробити це навіть можливим. А оскільки адміністрування сервера є дорогим та трудомістким, більшість людей дозволяють господарям професіонала приймати наші речі для нас (Webhosting).

На закінчення, якщо ви не хочете запускати власний сервер, набагато простіше просто завантажити його на свій веб-хостинг.


2
Питання не в тому, щоб в Інтернеті надходити великі файли доступу в локальній системі.
ксеноїд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.