gpt4 book ai didi

php - 如何将base64图像解码保存到laravel中的公用文件夹

转载 作者:行者123 更新时间:2023-12-03 18:28:48 24 4
gpt4 key购买 nike

我得到一个格式为 String base64 的图像,我想将该字符串解码为图像并将其保存到 laravel 的公共(public)文件夹中。

这是我的 Controller :

//decode string base64 image to image 
$image = base64_decode($request->input('ttd'));
//create image name
$photo_name = time().'.png';
$destinationPath = public_path('/uploads');
//save image to folder
$image->move($destinationPath, $photo_name);
$img_url = asset('/uploads'.$photo_name);


$data = new Transaction();
$data->transaction_id = $request->input('fa_transaction_id');
$data->user_id = $request->input('userid');
$data->photo_name = $photo_name;
$data->photo_url = $img_url;
$data->save();

当我尝试 echo $image 时,我得到了解码值,对于 $photo_name 我也得到了值,但是当函数运行时我得到了这个错误
Call to a member function move() on string

如何解决此错误?

最佳答案

//Controller

use Illuminate\Support\Facades\Storage;

//Inside method

$image = $request->image; // your base64 encoded
$image = str_replace('data:image/png;base64,', '', $image);
$image = str_replace(' ', '+', $image);
$imageName = str_random(10) . '.png';

Storage::disk('local')->put($imageName, base64_decode($image));

另外,请确保您的 local磁盘的配置与 /config/filesystems.php 中的一样
    'local' => [
'driver' => 'local',
'root' => storage_path('app/public'),
]

这样,文件将保存在 /storage/app/public目录。

别忘了写 php artisan storage:link使该目录中的文件在 /public 中可用目录,以便用户可以检索它们。

关于php - 如何将base64图像解码保存到laravel中的公用文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54549091/

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