首页  >  问答  >  正文

Laravel 公共存储对图像返回 404

按照 Laravel 文档(我正在使用 sail 在 docker 中使用 Laravel),我为存储 php artisan storage:link 创建了一个符号链接。我也尝试使用从根目录开始的完整路径来重新创建链接。

然后我存储一个文件

// ...
$filename = 'signatures/signature_' . auth()->user()->id . '-' . uniqid() . '.' . $image_type;
Storage::disk('public')->put($filename, $image_base64);

之后我就可以从控制台成功打开我的文件:

open public/storage/signatures/signature_101-62a876ce68884.png

当我尝试从我的网址访问 if 时,我收到 404:

http://laravel.test/storage/signatures/signature_101-62a876ce68884.png

我注意到通过尝试显示图像:

<img src="{{ url('/storage/' . $clients->signature->filename) }}">

我终于尝试了

rm public/storage
php artisan optimize:clear
php artisan storage:link

没有成功

P粉798343415P粉798343415286 天前402

全部回复(1)我来回复

  • P粉799885311

    P粉7998853112023-12-13 09:25:59

    我找到了解决方案。 Laravel 建议首先使用 sail,但文档并未涵盖此行为。

    必须在容器中创建符号链接!

    在项目的根目录中:

    • rm 公共/存储
    • docker exec -it php artisan 存储:链接

    回复
    0
  • 取消回复