Base64是一种编码格式,严格用于将数据转换为可传输的文本格式。如果你想使用其他格式,需要进一步转换该编码格式。因此,如果您想将PNG转换为JPEG,则需要使用另一种工具将其解码后转换为JPEG。这个问题有一些好的建议。回答该问题的Andrew Moore建议使用这样的函数。请确保GD库已作为PHP设置的一部分安装:
function png2jpg($originalFile, $outputFile, $quality) {
$image = imagecreatefrompng($originalFile);
imagejpeg($image, $outputFile, $quality);
imagedestroy($image);
}
所以以您的代码为例,您将使用此函数执行以下操作:
png2jpg('myDirectory/filename.png','myDirectory/filename.jpg', 100)
或者你可以将那个 png2jpg
函数的功能分解,并像这样在你的代码中使用它们:
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
file_put_contents('myDirectory/filename.png', $data);
$image = imagecreatefrompng('myDirectory/filename.png');
imagejpeg($image, 'myDirectory/filename.jpg', 100);
imagedestroy($image);