访问 Laravel 存储中上传的图像以进行视图渲染
在 Laravel 应用程序中,用户头像或其他媒体资源可能存储在存储目录中。要在视图中访问和显示这些图像,您有多种选择:
1。创建符号链接
从 Laravel 5.3 开始,artisan storage:link 命令创建从 public/storage 到 storage/app/public 的符号链接。这允许您使用前一个路径访问后一个目录中的文件:
http://somedomain.com/storage/image.jpg
2.使用文件服务的自定义路由
如果创建符号链接不可行,您可以创建自定义路由来读取和提供图像:
Route::get('storage/{filename}', function ($filename) { $path = storage_path('public/' . $filename); if (!File::exists($path)) { abort(404); } $file = File::get($path); $type = File::mimeType($path); $response = Response::make($file, 200); $response->header("Content-Type", $type); return $response; });
使用此路由,您可以使用以下路径访问文件:
http://somedomain.com/storage/image.jpg
3.使用干预图像库(可选)
如果使用干预图像库,您可以利用其response()方法:
Route::get('storage/{filename}', function ($filename) { return Image::make(storage_path('public/' . $filename))->response(); });
重要提示:
与让 HTTP 服务器直接处理文件相比,手动提供文件可能会导致性能损失。因此,请考虑将符号链接作为获得最佳性能的首选方法。
以上是如何访问 Laravel 视图中存储的图像以获得最佳性能?的详细内容。更多信息请关注PHP中文网其他相关文章!