当前位置: 首页 > 面试题库 >

将Base64字符串转换为图像文件?

包唯
2023-03-14
问题内容

我正在尝试将base64图像字符串转换为图像文件。

使用以下代码将其转换为图像文件:

function base64_to_jpeg( $base64_string, $output_file ) {
    $ifp = fopen( $output_file, "wb" ); 
    fwrite( $ifp, base64_decode( $base64_string) ); 
    fclose( $ifp ); 
    return( $output_file ); 
}

$image = base64_to_jpeg( $my_base64_string, 'tmp.jpg' );

但是我遇到了错误invalid image,这是怎么了?


问题答案:

问题是data:image/png;base64,编码内容中包含该内容。当base64函数对其进行解码时,这将导致无效的图像数据。像这样在解码字符串之前先删除函数中的数据

function base64_to_jpeg($base64_string, $output_file) {
    // open the output file for writing
    $ifp = fopen( $output_file, 'wb' );

    // split the string on commas
    // $data[ 0 ] == "data:image/png;base64"
    // $data[ 1 ] == <actual base64 string>
    $data = explode( ',', $base64_string );

    // we could add validation here with ensuring count( $data ) > 1
    fwrite( $ifp, base64_decode( $data[ 1 ] ) );

    // clean up the file resource
    fclose( $ifp );

    return $output_file; 
}


 类似资料:
  • 问题内容: 我正在尝试使用jQuery插件即crop.js裁剪/调整用户个人资料图像的大小,该插件通过ajax将用户图像作为base64发送给我的控制器 但我无法解码此base64 字符串作为图像,你们可以指导我如何将base64字符串作为图像保存在服务器上吗? 问题答案: 假设有几件事,您知道输出文件名是什么,并且您的数据以字符串形式出现。我确定您可以修改以下内容以满足您的需求: 请注意,这只是

  • 我正在尝试使用jquery插件裁剪/调整用户配置文件图像的大小,即crop.js,它将用户图像作为base64通过ajax发送到我的控制器

  • 问题内容: 我将图像转换为 base64 字符串,并将其从android设备发送到服务器。现在,我需要将该字符串改回图像并将其保存在数据库中。 有什么帮助吗? 问题答案: 尝试这个:

  • 然而,当我这样做的时候,什么也没有出现。我在logcat中没有任何错误。我做错了什么? 谢谢

  • 我想把base64编码的字符串转换成位图,这样我就可以把它放在图像视图中,但是得到的错误像

  • 我正在构建一个react原生应用程序,它需要以base64字符串格式存储图像,以实现离线查看功能。 什么库/函数会给我最好的结果来存储图像为Bas64字符串?假设我的网址是“http://www.example.com/image.png”。 另外,在将其存储为字符串之前,是否需要进行http请求以获取它?我的逻辑是肯定的,但在react native中,您可以在 在反应原生中做到这一点的最佳选择