2

我有这个代码:

public function showImage($id) {
    $item = File::find($id);

    return response()->file($item->file_name_and_path);
}

$item->file_name_and_path包含以下内容:

files/2020/04/29/myfile.jpeg

现在我总是得到一个FileNotFoundException.

图像文件位于此路径中的本地驱动程序上:

{laravel root}/storage/app/files/2020/04/29/myfile.jpeg

如何获得正确的本地路径或简单地返回带有图像 HTTP 标头的图像文件?

4

1 回答 1

2

您可以为此使用 Storage 外观:

use Illuminate\Support\Facades\Storage;

public function showImage($id) {
    $item = File::find($id);

    return Storage::response($item->file_name_and_path);
}

正如您在此处看到的,它会将以下标头添加到响应中:

'Content-Type'
'Content-Length'
'Content-Disposition'
于 2020-04-29T09:54:21.527 回答