google新推出的Gemini Image模型,可以实现连续图片交互,但是它生成的图片以base64格式传给用户端,保存到数据库就很大了,一方面咱们的ai貌似不能直接浏览,估计要修改显示代码;另一方面导致后端消息列表很卡,这个不知道有没有好的办法来处理。
只能存本地,富文本中替换成图片链接。
1 Base64 格式图片转换为图片文件 2 把文件传到OSS 3 把图片连接转成 img标签 显示给用户
让AI写吧
function base64ToImage($base64String, $outputFile) { // 去除Base64字符串中的前缀 $base64String = str_replace('data:image/png;base64,', '', $base64String); $base64String = str_replace('data:image/jpeg;base64,', '', $base64String); $base64String = str_replace('data:image/gif;base64,', '', $base64String); // 处理可能的空格替换 $base64String = str_replace(' ', '+', $base64String); // 解码Base64字符串 $imageData = base64_decode($base64String); if ($imageData === false) { return false; // 解码失败 } // 将二进制数据写入文件 $result = file_put_contents($outputFile, $imageData); return $result !== false; } // 使用示例 $base64Image = "这里是你的Base64图片字符串"; $outputPath = "output_image.png"; // 输出文件路径 if (base64ToImage($base64Image, $outputPath)) { echo "图片转换成功,已保存至: " . $outputPath; } else { echo "图片转换失败"; }
非常感谢
谁教你的,把base64存数据库
只能存本地,富文本中替换成图片链接。
1 Base64 格式图片转换为图片文件
2 把文件传到OSS
3 把图片连接转成 img标签 显示给用户
让AI写吧
非常感谢
谁教你的,把base64存数据库