web-dev-qa-db-fra.com

Laravel ne montre pas l'image

J'ai ceci dans le view.blade.php

{{HTML::image('resources/views/Folder/Subfolder/Subfolder/Photo/'.$item->Photo)}} 

$item->Photo prend le nom de l'image de la base de données

Dans la même vue j'ai use HTML;

Voici ce que je vois à l'écran:

<img src="http://localhost:8000/resources/Folder/Subfolder/Subfolder/Photo/3da0d12d6d8667963392a446262b1773.jpg">

Si je remplace {{HTML::image.... Par 
<img src="resources/Folder/Subfolder/Subfolder/Photo/{$item->Photo}}" alt="NO PHOTO">

sur l'écran je vois 
<img src="http://localhost:8000/resources/Folder/Subfolder/Subfolder/Photo/3da0d12d6d8667963392a446262b1773.jpg"> 
PAS DE PHOTO

Les images existent, je les sème dans le dossier. Je fais quelque chose de mal, je ne sais pas quoi. Je pense que Laravel veut des images être sur un dossier spécifique ... cela pourrait-il être la cause du problème? Avez-vous des idées?

Dans le contrôleur j'ai ceci:

$destinationPath =base_path().'\resources\Folder\Subfolder\Subfolder\Photo';
        chmod($destinationPath,0777);

La taille de l'image est de 7,673 octets. J'ai essayé avec une autre image, cela ne fonctionne pas non plus. C'est comme si quelque chose empêchait tous mes navigateurs de montrer des images sur localhost Quelqu'un a-t-il déjà rencontré ce problème? Je ne sais pas ce que je devrais essayer d'autre ...

7
Texas

Dans Laravel 5, si vous envisagez de disposer vos images dans un dossier public, suivez cette réponse:

Créez le dossier images sous le dossier public dans Laravel 5.

Ensuite, j'utilise URL::to('/') pour renvoyer l'URL de base. Vous pouvez ensuite ajouter l'emplacement de votre dossier d'images comme dans l'exemple suivant:

<img src="{{ URL::to('/') }}/images/{{ $item->Photo }}" alt="{{ $item->Title }}" />

OU tout à l'intérieur des accolades

<img src="{{ URL::to('/images/' . $item->Photo) }}" alt="{{ $item->Title }}" />

Vous ne devez pas donner l'autorisation d'écriture au dossier des ressources.

{{ URL::to('/images') }} générer http: // localhost/images dans l'environnement hôte local.

et le dossier de l'emplacement des images est: your_laravel_project/app/public/images

Si vous envisagez de protéger vos images de la vue publique afin que seuls les utilisateurs authentifiés puissent voir les images, suivez le lien suivant:

Comment protéger l'image de la vue publique dans Laravel 5?

Remarque: URL::to('/') renvoie l'URL de base et peut être utilisé de différentes manières. Ici vous pouvez trouver des informations détaillées à ce sujet.

Référence: http://laravel.com/api/5.1/Illuminate/Contracts/Routing/UrlGenerator.html#method_to

9
{{ asset("storage/uploads/$notes->file_name")}}

cela a fonctionné pour moi. j'avais un fichier dans les téléchargements de stockage/app/dossier public. essayé tellement de choses. s'avère un peu déroutant mais incroyablement simple une fois que vous l'avez compris. je suis en laravel 5.4

0
Saugat Thapa

Affichez l'image Laravel 5 si vous prévoyez de placer vos images dans un dossier public. Pour afficher le dossier des images sous le dossier public dans Laravel 5 simple:

<img class="img-responsive menu-thumbnails" src="{{ asset($item->photo) }}"/>
0
Mas Hary