laravel - 如何在存储中显示图像?
问题描述
我像这样存储了我的文件。
public function update(Request $request)
{
$user = auth()->user();
$path = null;
if ($request->hasFile('image'))
{
$file = $request->file('image');
$nane = time();
$extension = $file->getClientOriginalExtension();
$fileName = $nane . '.' . $extension;
$path = $file->storeAs('images/users', $fileName, 'public');
}
$user->image = $path;
$user->save();
return redirect()->back();
}
我想显示一个图像,但它没有显示。
<img src="{{ asset('storage/') . auth()->user()->image }}" id="dialog" class="img-fluid rounded-circle cursor-pointer">
我确实跑了。
php artisan storage:link
文件系统.php
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
],
],
但我看到了这个演示。
我已经在 Laravel 存储中上传了用户头像。如何访问它们并将它们呈现在视图中?
解决方案
您的图像名称不在资产功能内。此外,由于您的 url 格式是在 filesystems.php 文件中定义的,因此无需在资产助手中写入“storage/”。
你应该写:
<img src="{{ asset(auth()->user()->image) }}" id="dialog" class="img-fluid rounded-circle cursor-pointer">
推荐阅读
- angular - Angular 7和数据源一个字段在循环内不可迭代,但如果整个数组被控制台,则可以找到
- android - 我可以在一个项目中使用两种不同的数据存储吗?
- neo4j - Neo4j - 从一组特定类型的节点到一个节点的最近邻居
- powershell - 使用 PowerShell 在 Windows 中删除用户配置文件
- vhdl - 如何从 ZTNQ-7020 开发板读取温度?
- angular - NgModel 正在打印我输入的错误值
- bash - 当时间是一个变量时,如何告诉 VLC 在某个时间点开始播放文件?
- karate - 如何断言其中包含特殊字符的字符串?
- java - 切换帧的最佳做法是什么?
- html - 将 HTML 代码嵌入 Google 协作平台时如何删除向下滚动