Comment afficher des images locales dans Chrome à l'aide du protocole file: //?

22

J'aimerais pouvoir spécifier un chemin de fichier local pour une image sur une page Web transmise via http à l'aide de Chrome - est-ce possible?

Je me souviens d’avoir fait cela en utilisant IE mais je ne me souviens plus comment! Certains paramètres de confiance, je pense ...

JSH
la source

Réponses:

14

vous pouvez convertir l'image en code base 64, par exemple avec " http://duri.me/ " et copier le résultat dans le navigateur! Comme:

<img width='16' height='16'  src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAApklEQVQ4jWP8//8/Ay5Q4s6GU7Jn5y9GBgYGBiacuokELKTYSpQByKB68UkMMUExQ0ZkPsVeYEQPREZGRpK8gOGCdy/PwTEyH8ZGF8MbBgwMDAxC4kZ4xfAaALMFGfz//5+6gYjXBS+fXUHhaxjEMqKrQXGBglU8SgyIS+mgYHR5DAPIAYz////HavL5DQVwtmHABAyND44tZGRgwBMG2DRhAxR7AQBhgT3yD6eBRwAAAABJRU5ErkJggg=='>
Diogo Cid
la source
6
Cette information peut être utile à quelqu'un, mais je pense qu'elle ne répond pas vraiment à cette question.
G-Man
12

Puisque vous avez parlé de «Chrome», vous pouvez utiliser des extensions Chrome pour ce faire, afin de permettre un accès local à vos fichiers.

Suivez ces étapes:

1) Dans le dossier local où se trouve votre / vos image (s), créez ce fichier nommé 'manifest.json' et entrez ceci:

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

2) Mettez ceci est votre barre d’adresse chrome: chrome: // extensions /

3) Assurez-vous que le 'Mode développeur' est coché (en haut à droite de la page)

4) Cliquez sur le bouton 'Load Unpacked Extension'

5) Accédez au dossier local contenant la ou les images et le fichier manifest.json. Cliquez sur OK.

6) L'extension 'File Exposer' devrait maintenant être listée dans la liste et cochée 'Enabled'. Si le dossier se trouve sur un lecteur réseau ou un autre lecteur lent ou contient de nombreux fichiers, l'affichage de la liste peut prendre de 10 à 20 secondes, voire davantage.

7) Notez la chaîne 'ID' associée à votre extension. C'est le EXTENSION_ID

8) Maintenant, dans votre code HTML, vous pouvez accéder au fichier avec ce qui suit en remplaçant "EXTERNSION_ID" par l'identifiant généré par votre extension:

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

Notez que le fichier * .jpg est récursif et qu'il correspond automatiquement aux fichiers du dossier spécifié et de tous les sous-dossiers. Vous n'avez pas besoin de spécifier pour chaque sous-dossier. Notez également, sa casse.

Dans la balise 'img', vous ne spécifiez pas le dossier d'origine, son relatif par rapport à ce dossier, de sorte que seuls les sous-dossiers doivent être spécifiés.

Si vous modifiez le fichier manifest.json, vous devrez cliquer sur le lien "Recharger (Ctrl + R)" en regard de l'extension.

Rob Donovan
la source
2

dans Chrome cela ressemble à ceci

file:///C:/sample.txt
KutscheraIT
la source
Je suis après avoir fait quelque chose comme cela, hébergé sur le Web, mais en regardant les fichiers locaux des utilisateurs .... <! DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.0 Strict // EN" " w3.org/TR /xhtml1/DTD/xhtml1-strict.dtd "> <html xmlns =" w3.org/1999/xhtml "> <tête> <méta http-equiv =" Type de contenu "content =" text / html; charset = utf -8 "/> <titre> exemple </ titre> </ head> <body> <img src =" fichier: /// c: /graphics/image.jpg "height =" 200px "width =" 200px "/ > <h1> Bienvenue </ h1> <p> Bonjour tout le monde! </ p> </ body> </ html>
JSH
1
Je viens d'essayer les fichiers .html et .jpg avec la notation fichier: ///, les deux étant rendus correctement. Pourriez-vous poster une capture d'écran qui montre la barre d'adresse et une partie du contenu?
KutscheraIT
essayez jsh.learningict.net - évidemment l'image que vous n'aurez pas, mais le code vous donne une idée de ce que je recherche
JSH
Je peux seulement deviner que vous faites référence à la balise image, qui fonctionne également bien lorsque je remplace le code src par <img src = "fichier: /// c: \ test.jpg" height = "200px" width = "200px" > c: \ test.jpg est un jpg valide dans ce chemin et s’affiche correctement.
KutscheraIT
me demande si c'est une chose osx alors? le ref src fonctionne bien seul dans la barre d'adresse de Chrome, mais pas dans le code HTML
JSH
2

Si vous souhaitez tester une image locale sur le site actif, vous pouvez exécuter un serveur Web local et définir une URL telle que http://127.0.0.1:8123/img.jpg à la page à l'aide de DevTools.

Un serveur Web peut être utilisé de différentes manières: 1. Extension du navigateur "Web Server for Chrome" avec le dossier défini https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb

  1. Si vous avez python, lancez le serveur http intégré au dossier choisi

    python3 -m http.server 8123 # version de python 3
    python -m SimpleHTTPServer 8123 # version de python 2

  2. Utilisez un serveur prêt à la production comme nginx , apache

koxt
la source
0

Dans mon cas, je n'avais besoin que de voir à quoi ressemblerait un petit changement d'image dans différentes tailles réactives. Il était plus simple de sauvegarder sous ... une page Web complète sur le bureau, puis de l'ouvrir à la place. J'inspecte et édite l'image src.

Changokun
la source
Cela ne semble pas du tout être ce que demandait OP, même pas lié. Veuillez lire les questions attentivement et ne pas répondre ou commenter à moins que vous ne disposiez d'informations pertinentes à ajouter.
music2myear
1
Mais c’est ce que je cherchais
Samuel Thompson
-1

D'accord, vous ne pouvez pas laisser quelqu'un d'autre accéder à votre système de fichiers local! Vous auriez besoin d'un service de serveur comme Apache, laissez votre ordinateur fonctionner 24 heures sur 24, assurez-vous qu'il ne surchauffe pas, veillez à une bonne sécurité et bien plus encore pour rendre cela possible. Et parce que l’administration de serveur est coûteuse et prend beaucoup de temps, la plupart des gens laissent le professionnel héberger notre matériel pour nous (hébergement Web).

En conclusion, si vous ne voulez pas utiliser votre propre serveur, il est beaucoup plus simple de le télécharger sur l'hébergeur de votre choix.

utilisateur759576
la source
2
La question n'est pas de laisser Internet accéder à de gros fichiers d'accès sur le système local.
xenoid