Laravel 404 查看保存在 laravel 项目的 public 目录中的图像时出错

Laravel 404 error while viewing image saved in public directory of laravel project

我创建了 Laravel 项目并且能够让它工作以获得 json 输出。但是 json 中的图像 link 无法正常工作。

https://android.factory2homes.com/ json: https://android.factory2homes.com/index.php/api/products

图片link:https://android.factory2homes.com/index.php/public/12142.jpg

我尝试创建 symlink 并将相同的图像复制到存储文件夹中,但无法使其工作。

如果图像在 public 内,那么我认为您不需要提供 url 之类的索引。php/public/someimage.jpg 您可以直接 www.yousiteurl .com/someinage.jpg

Laravel 项目中的 public 文件夹基本上是显示在网站 URL.

上的根文件夹

出于安全问题,您确实不希望用户能够直接在 public 文件夹中写入任何内容,因为如果您不小心,他们可能会覆盖您的 php 脚本让他们为所欲为。

所以一般来说,您在 public 文件夹内创建一个 simlink 到 public 目录外的存储文件夹。 Laravel 甚至有一个内置的 artisan 命令可以准确地做到这一点:

php artisan storage:link

存储在该文件夹中的任何图像的 URL 将在您的示例中:

https://android.factory2homes.com/storage/12142.jpg

您不必放置任何 .php 文件,或 public 或任何其他文件。

我通过将图像保存到 Public_html 文件夹而不是 Laravel 应用程序根文件夹中的 public 文件夹解决了这个问题。 Public_html 是 public 可见的路径,因此其他解决方案无效。