无法访问存储在 Laravel 5.5 的 Storage 文件夹中的图像
Not able to access image stored in Storage folder in Laravel 5.5
我正在尝试访问存储在 /storage 文件夹中的 url 中的图像。
图片存储路径:
Project/storage/app/public/default.png
根据 Laravel 5.5 文档,您可公开访问的文件应放在目录中
storage/app/public
所以我做了同样的事情,但是当我尝试访问图像时:
http://localhost:8000/storage/default.png
那就不行了
我尝试了以下命令:
php artisan storage:link
但它抛出一个错误:
The "public/storage" directory already exists.
您试过后无法直接访问存储文件夹中的文件。首先,您必须创建一个符号 link 存储 "public" 文件夹到真正的 "public" 文件夹。
php artisan storage:link
命令后重试。
注意:如果您使用windows打开命令行(cmd,gitbash...) 作为管理员以避免错误。
第一次使用php artisan storage:link
然后您可以使用 /* 访问所有 public 路径,例如:
http://localhost:8000/default.png
以上命令允许您直接从 public 路径获取图像!
希望对您有所帮助!
尝试删除 app/public/storage 中的存储文件夹,然后再执行 运行 命令 (php artisan storage:link
),这样您就可以使用此路径访问文件了
http://localhost:8000/storage/<folder_name_if_folder_exists>/<file_name>.<extension>
至于 2019 年,如果您遇到此错误:
"The "public/storage”目录已经存在。”
然后转到 public 文件夹并删除 "storage" 文件。
完成后,运行 再次 "php artisan storage:link" 现在就可以使用了
2019 年 9 月
什么对我有用:
- 通过 SSH 连接到您的 homestead VM
- cd 到您的项目文件夹
- php artisan storage:link(作为您终端的管理员)
- 运行 成功 我在 /public 目录中没有看到 /storage 文件夹
- 使用 url 中的存储/通过 blade 访问图像,例如。 "storage/{{ $post->image }}"
如果您运行遇到任何错误:
- rm -rf public/storage
- php artisan storage:link(作为您终端的管理员)
最好的方法是先通过 运行 代码删除符号链接,该代码会首先从 public 文件夹中删除存储,如下所示:
$ rm public/storage
然后再次运行符号链接代码
$ php artisan storage:link
之后您会看到 public/storage 文件夹会重新出现并更新
尝试删除 Public 目录中的存储文件夹,然后 运行 此命令
"php artisan storage:link" 然后尝试一下。
我正在尝试访问存储在 /storage 文件夹中的 url 中的图像。
图片存储路径:
Project/storage/app/public/default.png
根据 Laravel 5.5 文档,您可公开访问的文件应放在目录中
storage/app/public
所以我做了同样的事情,但是当我尝试访问图像时:
http://localhost:8000/storage/default.png
那就不行了
我尝试了以下命令:
php artisan storage:link
但它抛出一个错误:
The "public/storage" directory already exists.
您试过后无法直接访问存储文件夹中的文件。首先,您必须创建一个符号 link 存储 "public" 文件夹到真正的 "public" 文件夹。
php artisan storage:link
命令后重试。
注意:如果您使用windows打开命令行(cmd,gitbash...) 作为管理员以避免错误。
第一次使用php artisan storage:link
然后您可以使用 /* 访问所有 public 路径,例如:
http://localhost:8000/default.png
以上命令允许您直接从 public 路径获取图像!
希望对您有所帮助!
尝试删除 app/public/storage 中的存储文件夹,然后再执行 运行 命令 (php artisan storage:link
),这样您就可以使用此路径访问文件了
http://localhost:8000/storage/<folder_name_if_folder_exists>/<file_name>.<extension>
至于 2019 年,如果您遇到此错误:
"The "public/storage”目录已经存在。”
然后转到 public 文件夹并删除 "storage" 文件。
完成后,运行 再次 "php artisan storage:link" 现在就可以使用了
2019 年 9 月
什么对我有用:
- 通过 SSH 连接到您的 homestead VM
- cd 到您的项目文件夹
- php artisan storage:link(作为您终端的管理员)
- 运行 成功 我在 /public 目录中没有看到 /storage 文件夹
- 使用 url 中的存储/通过 blade 访问图像,例如。 "storage/{{ $post->image }}"
如果您运行遇到任何错误:
- rm -rf public/storage
- php artisan storage:link(作为您终端的管理员)
最好的方法是先通过 运行 代码删除符号链接,该代码会首先从 public 文件夹中删除存储,如下所示:
$ rm public/storage
然后再次运行符号链接代码
$ php artisan storage:link
之后您会看到 public/storage 文件夹会重新出现并更新
尝试删除 Public 目录中的存储文件夹,然后 运行 此命令 "php artisan storage:link" 然后尝试一下。