gpt4 book ai didi

mysql - 从数据库(php、mysql、laravel)编码 blob 后图像未加载

转载 作者:行者123 更新时间:2023-11-29 15:21:13 26 4
gpt4 key购买 nike

我正在尝试为每个联系人创建一张照片。

这是我的 Controller 中的 store() 方法:

public function store()
{

$attributes = request()->validate([
'user_id' => ['required'],
'avatar' => ['required',],
'ime' => ['required', 'min:3'],
'prezime' => ['required', 'min:3'],
'broj' => ['required', 'min:3'],
]);

Kontakt::create($attributes);

return redirect('/imenikk');
}

这是create.blade.php:

<form method="POST" action="/imenikk">
{{ csrf_field() }}
<div class="container text-center">
<label for="ime">Ime</label>
<input type="text" class="form-control text-center" name="ime"
placeholder="Ime">
<label for="prezime">Prezime</label>
<input type="text" class="form-control text-center" name="prezime"
placeholder="Prezime">
<label for="broj">Broj</label>
<input type="text" class="form-control text-center" name="broj"
placeholder="Broj">
<br>
<input type="file" name="avatar" accept="image/*">
<br>
<input type="hidden" name="user_id" value='{{$user_id}}'>

<button type="submit" class="btn btn-primary">Dodaj
</div>
</form>

这是在 show.blade.php 上:

<img src="data:image/jpg;base64,{{ chunk_split(base64_encode($imenikk->avatar)) }}" height="500" width="500">
<img src ="data:image/jpeg;base64,{{base64_encode($imenikk->avatar)}}" height="200" width="200">

这两个都不起作用..我明白了,但图像无法加载:

<img src="data:image/jpg;base64,SU1HXzYxODQuSlBH" height="500" width="500">

这是我创建带图片的联系人时数据库的外观:

enter image description here

我也成功地解码了这个img src="data:image/jpg;base64,SU1HXzYxODQuSlBH

当我解码它时,我得到了图像名称,但页面仍然不显示图像。

最佳答案

看来你的base64代码是错误的。

尝试从图像文件中获取真正的base64编码,并存储在数据库中。

public function store()
{

$attributes = request()->validate([
'user_id' => ['required'],
'avatar' => ['required',],
'ime' => ['required', 'min:3'],
'prezime' => ['required', 'min:3'],
'broj' => ['required', 'min:3'],
]);
$file = request()->file('avatar');
$imagedata = file_get_contents($file->getRealPath());;
$base64 = base64_encode($imagedata);
$attributes['avatar'] = $base64;
Kontakt::create($attributes);

return redirect('/imenikk');
}

然后将其存储在您的字段中,并像这样显示:

<img src={{ "data:image/jpg;base64,".$imenikk->avatar }} height="500" width="500">

关于mysql - 从数据库(php、mysql、laravel)编码 blob 后图像未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59364633/

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