[英]Convert base64 string to image at server side in java
我有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);
}
我应该怎么做才能使我的图像看起来正确?
您的代码看起来不错。 但我可以为您建议更多调试步骤。
String base64
包含与您在页面上看到的内容完全相同的内容。 //如果此处出现问题,则您的请求已损坏,也许前端有一些编码问题? ./src/main/resources/demo.jpg
下创建的文件内容,并比较内容(大小,二进制比较)//如果此处出现问题,您将知道实际上保存操作已损坏 备注:
.flush()
? 尝试这个:
public static byte[] decodeImage(String imageDataString) {
return org.apache.commons.codec.binary.Base64.decodeBase64(imageDataString.getBytes());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.