我想对现有图像进行编码,这是我当前的功能:
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编码似乎是错误的。
非常感谢您!
答案 0 :(得分:3)
我不知道您正在使用什么框架,但是$ file-> file是上载文件的路径,因此您可以使用
返回base64_encode(file_get_contents($ file-> file));
希望有帮助