繁体   English   中英

Laravel 通过 API 上传图片

[英]Laravel Uploading Image via API

我正在尝试通过 API 上传图像,但它一直在我的日志中抛出此错误并且图像没有上传。

[2020-03-06 16:27:46] local.ERROR: 此 PHP 安装不支持读取 Exif 数据。 {"userId":10002,"exception":"[object] (Intervention\\Image\\Exception\\NotSupportedException(code: 0): 此 PHP 安装不支持读取 Exif 数据。在 /home/zackdemo/public_html/app/ vendor/intervention/image/src/Intervention/Image/Commands/ExifCommand.php:22) [stacktrace]

您可以在将图像发送到服务器之前以 base64 格式对图像进行编码。 PHP 具有解码基本 64 格式的工具。

您可以执行以下操作。

public static function storeBase64($base64Image, $extension, $participant)
{
    $oldImage = $participant->image;

    $image = $base64Image; // your base64 encoded
    $image = str_replace('data:image/' . $extension . ';base64,', '', $image);
    $image = str_replace(' ', '+', $image);
    $imageName = str_random(10) . "-" . $participant->id . '.' . $extension;
    $path = 'storage/participant/profile/' . $imageName;
    Storage::put($path, base64_decode($image));
    $participant->image = $path;
    $participant->save();

    if ($oldImage) {
        // Storage::delete($oldImage);
        Storage::move($oldImage, 'deleted/' . $oldImage  );
    }

    return $path;

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM