首页 > 解决方案 > Base 64 编码图像

问题描述

我想对现有图像进行编码,这是我当前的功能:

public function convertUploadedFileToBase64(UploadedFile $file) {

   return base64_encode(file_get_contents($file->getClientFilename()));

}

所以我知道 $file 是一个正确的变量,我使用的是 Postman,它通过 var_dump 向我显示 $file 包含图像,但看起来编码不起作用。

在此之前,我使用了一个函数来检查文件是否为有效图像:

public function checkIfUploadedFileIsValid(UploadedFile $file)
{


    $imageInfo = getimagesize($file->file);
    if ($imageInfo['mime'] == ("image/png") ||
        $imageInfo['mime'] == ("image/jpeg") ||
        $imageInfo['mime'] == ("image/gif") ||
        $imageInfo['mime'] == ("image/psd") ||
        $imageInfo['mime'] == ("image/bmp")) {

        return $file;

    }

    throw new \Exception("Image Invalid", 400);


}

这确实有效,但 base64 编码似乎是错误的。

非常感谢!

标签: phppostmanslim

解决方案


我不知道您正在使用什么框架,但似乎 $file->file 是上传文件的路径,因此您可以使用

返回 base64_encode(file_get_contents($file->file));

希望能帮助到你


推荐阅读