gpt4 book ai didi

laravel - 检索存储在存储文件夹中的图像

转载 作者:行者123 更新时间:2023-12-01 08:16:13 31 4
gpt4 key购买 nike

使用 laravel 5.3,我正在尝试在 View 中检索图像。我怎么能做到这一点?
文件夹结构:storage/app/avatard

这是代码:

public function storeAvatar(Request $request, $username)
{
$user = User::where('name', $username)->first();
$avatar = $request->file('avatar')->store('avatars');

$avatar = explode('avatars/', $avatar);



$user->user_setting()->updateOrCreate(
['user_id' => $user->id],
['avatar' => $avatar[1]]
);

return back();
}

这是图像路径在数据库中的保存方式:

/users/avatar/default.png

最佳答案

有点像这样,您可以实现,因为存储路径直接对公众不可用。您需要在这样的 route 提供公共(public)网址。

在 View 中

<img src="{{route('avatar',$filename)}}" />

或者
<img src="/avatars/{{$filename}}" />

在路线/web.php
Route::get('/avatars/{filename}', function ($filename)
{
$path = storage_path() . '/avatars/' . $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;
})->name('avatar');

关于laravel - 检索存储在存储文件夹中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41138642/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com