来自Laravel存储的Echo文件URL

时间:2017-03-31 09:29:54

标签: php laravel-5

我在我的laravel视图中使用此代码来回显文件路径,但它在chrome dev工具中出现了404响应。

<img src="{{ URL::to('/').Storage::url($post->image) }}">

将其发送到页面上

http://localhost:8000/storage/public/bd0e2f7f.png

文件存在那里,这是文件的正确名称所以我不完全确定它为什么会出现404!

2 个答案:

答案 0 :(得分:1)

看起来即使从app根文件夹看到你的路径很好,但它并不是laravel正在寻找它的地方。 Laravel会在app/public内查找您的路径,从而生成内部app/public/storage/public/bd0e2f7f.png,除非您在app/storage/public和`app / public之间创建了符号链接,否则不会找到文件。

解决方案taken from the documentation将运行:

php artisan storage:link
从命令行

创建上述链接,并允许您使用网址http://localhost:8000/storage/bd0e2f7f.png访问该文件,而不是http://localhost:8000/storage/public/bd0e2f7f.png

来自文档

  

storage/app/public目录可用于存储应公开访问的用户生成的文件,例如个人资料头像。您应该在public / storage处创建一个指向此目录的符号链接。您可以使用php artisan storage:link命令创建链接。    source

答案 1 :(得分:0)

简单的解决方案可以是:

<img src="{{ Storage::url($post->image) }}">

参考here

我假设你已经包含Storage,因为你也在代码中使用了它,如果没有,那么请使用它:

<img src="{{ \Illuminate\Support\Facades\Storage::url($post->image) }}">