gpt4 book ai didi

java - 在java中将base64字符串转换为服务器端的图像

转载 作者:行者123 更新时间:2023-12-01 09:05:47 27 4
gpt4 key购买 nike

我有 base64 字符串,我想将其转换回图像,无论服务器端的图像格式如何。我使用以下代码尝试了它,正在创建图像,但是当我尝试预览它时,显示错误无法加载图像。

public void convertStringToImage(String base64) {
try {
byte[] imageByteArray = decodeImage(base64);

FileOutputStream imageOutFile = new FileOutputStream("./src/main/resources/demo.jpg");
imageOutFile.write(imageByteArray);
imageOutFile.close();
} catch (Exception e) {
logger.log(Level.SEVERE, "ImageStoreManager::convertStringToImage()" + e);
}
}


public static byte[] decodeImage(String imageDataString) {
return Base64.decodeBase64(imageDataString);
}

我应该怎样做才能使我的图像看起来正确?

最佳答案

你的代码看起来不错。不过,我可以为您建议更多的调试步骤。

  1. 使用以下命令手动编码您的文件:webpage
  2. 比较 String base64 是否包含与您在页面上看到的完全相同的内容。//如果这里出现问题,您的请求已损坏,可能是前端的一些编码问题?
  3. 查看在 ./src/main/resources/demo.jpg 下创建的文件内容并比较内容(大小、二进制比较)//如果此处出现问题,您将知道实际上的保存操作已损坏

备注:

  • 您是否在关闭之前尝试执行 .flush() 操作?
  • 当前形式的代码可能会导致资源泄漏,请查看 try-with-resources

关于java - 在java中将base64字符串转换为服务器端的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41298553/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com