首页 > 解决方案 > 如何在不保存到 Laravel 的公共文件夹的情况下公开图像

问题描述

我正在 Laravel 中制作一个应用程序,我需要将无法在公用文件夹中访问的图像与我的jscss.

我将图像保存在默认的 Laravel 文件夹中,即storage/app文件夹。我想知道一种在不将它们放入public文件夹的情况下公开这些图像的方法。我想我可以先搜索图像并将其与其他数据(例如用户名和其他数据)一起发送到视图,但我不知道该怎么做。

我的配置filesystems.php如下:

文件系统.php

'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

在我看来,我正在尝试这样:

<img src="{{ url("files/{$file->getContent()}") }}" class="rounded-circle">

在这种情况下,我试图放置用户上传的图像。

标签: laravel

解决方案


创建和端点以下载您的文件:

Route::get('/file/download', function() {
    // get your filepath
    $filepath = 'path/to/image/image.png';
    return Response::download($filepath);
});

那么在你看来:

<img src="{{url('/file/download')}}" class="rounded-circle" />

推荐阅读