Php 照片未在laravel 5中使用asset()加载

Php 照片未在laravel 5中使用asset()加载,php,laravel,laravel-5,storage,Php,Laravel,Laravel 5,Storage,我已经编写了用于存储和显示图像的代码 show.blade.php <form method="POST" action="{{ url('/user/'.$profile->user_id) }}" enctype="multipart/form-data"> {{ csrf_field() }} <input type="file" name="avatar" /> <input type="submit" value="Upload"

我已经编写了用于存储和显示图像的代码

show.blade.php

     <form method="POST" action="{{ url('/user/'.$profile->user_id) }}" enctype="multipart/form-data">
    {{ csrf_field() }}

<input type="file" name="avatar" />
<input type="submit" value="Upload" />
  </form>
  <img src="{{ asset($profile->avatar_path) }}" width="20px" height="20px">
它将路径存储为
avatars/XCK6azMSv87qA23YYXemZlPVoSKLN3sor9aUhfhQ.jpeg

当我检查
storage/app/public
时,图像实际上出现在
avatars/
文件夹中

在控制台中显示

GET http://localhost:8000/avatars/XCK6azMSv87qA23YYXemZlPVoSKLN3sor9aUhfhQ.jpeg 404 (Not Found)

我还执行了php artisan storage:link命令“静止图像不加载”。

为什么不使用公用文件夹中资产图像文件夹的静态路径呢。 只需在应用程序的公用文件夹中创建一个名为Image的文件夹

仅在数据库中存储图像的名称,并在图像文件夹中存储文件

查询用户配置文件时, 将图像名称存储到avatar变量,并使用

<img src="{{ asset(Image/$profile->avatar) }}" width="20px" height="20px">
avatar)}“width=“20px”height=“20px”>

简化操作。

为什么不使用公用文件夹中资产映像文件夹的静态路径呢。 只需在应用程序的公用文件夹中创建一个名为Image的文件夹

仅在数据库中存储图像的名称,并在图像文件夹中存储文件

查询用户配置文件时, 将图像名称存储到avatar变量,并使用

<img src="{{ asset(Image/$profile->avatar) }}" width="20px" height="20px">
avatar)}“width=“20px”height=“20px”>
简单化。

来自:

默认情况下,公共磁盘使用本地驱动程序并将这些文件存储在
存储/app/public
中。要从web访问它们,您应该创建一个从
public/storage
storage/app/public
的符号链接

因此,运行此命令以创建符号链接:

php artisan storage:link
然后,您将能够使用
asset()
帮助程序在
存储/app/public/avatars/john.jpg中显示图像,其中包括:

{{ asset('storage/avatars/john.jpg') }}
发件人:

默认情况下,公共磁盘使用本地驱动程序并将这些文件存储在
存储/app/public
中。要从web访问它们,您应该创建一个从
public/storage
storage/app/public
的符号链接

因此,运行此命令以创建符号链接:

php artisan storage:link
然后,您将能够使用
asset()
帮助程序在
存储/app/public/avatars/john.jpg中显示图像,其中包括:

{{ asset('storage/avatars/john.jpg') }}


检查用户在公用文件夹上的权限如何做?u是否在Linux上?否。windows 10上的im是否也为存储和公用文件夹创建了链接?如果是这样,您可能只需要在路径名前面添加/storage。那么www.url.com/storage/avatars/stuff.jpgCheck用户在公共文件夹上的权限如何做?u在Linux上吗?不。im在windows 10上你也做了存储和公共文件夹的链接吗?如果是这样,您可能只需要在路径名前面添加/storage。因此www.url.com/storage/avatars/stuff.jpgim在laracast论坛教程系列之后,我了解到图像名称可能会发生冲突,因此最好保存为散列,而不是提供文件名。是的,可能会上载具有相同名称的图像。为此,您可以在将图像名称保存到数据库之前,简单地将图像名称与一些随机变量或时间毫秒连接起来。它会保证每个图像名称都是唯一的。我在学习laracast论坛教程系列之后,在那里我了解到图像名称可能会发生冲突,因此最好保存为哈希,而不是提供文件名。是的,可能会上载具有相同名称的图像。为此,您可以在将图像名称保存到数据库之前,简单地将图像名称与一些随机变量或时间毫秒连接起来。这将确保每个图像名称都是唯一的。我已经这样做了,请检查我问题的最后一行是的。我还使用了php artisan storage:link,所以现在还可以在公共场合使用快捷方式folder@Raj您的图像应该在
存储/app/public/avatars/
中,您应该将其与
资产('storage/avatars/john.jpg')一起使用。
我已经这样做了,请检查我问题的最后一行是。我还使用了php artisan storage:link,所以现在还可以在公共场合使用快捷方式folder@Raj您的图像应该在
存储/app/public/avatars/
中,您应该将其与
资产('storage/avatars/john.jpg')一起使用。