如何在 Laravel 6 中 return 图片?
How to return image in Laravel 6?
我有这个代码:
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
。
图片文件在本地 driver 这个路径中:
{laravel root}/storage/app/files/2020/04/29/myfile.jpeg
我怎样才能获得正确的本地路径或简单地 return 带有图像 HTTP headers 的图像文件?
您可以为此使用 Storage facade:
use Illuminate\Support\Facades\Storage;
public function showImage($id) {
$item = File::find($id);
return Storage::response($item->file_name_and_path);
}
如您所见here,它会在响应中添加以下内容headers:
'Content-Type'
'Content-Length'
'Content-Disposition'
我有这个代码:
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
。
图片文件在本地 driver 这个路径中:
{laravel root}/storage/app/files/2020/04/29/myfile.jpeg
我怎样才能获得正确的本地路径或简单地 return 带有图像 HTTP headers 的图像文件?
您可以为此使用 Storage facade:
use Illuminate\Support\Facades\Storage;
public function showImage($id) {
$item = File::find($id);
return Storage::response($item->file_name_and_path);
}
如您所见here,它会在响应中添加以下内容headers:
'Content-Type'
'Content-Length'
'Content-Disposition'