Groovy - 将 Base64 图像字符串解码为文件
Groovy - decoding Base64 Image String to File
我在尝试将 base64 格式的图像解码为 Groovy 中的实际文件时遇到了一些问题。
我理解的 Base64 字符串是有效的,因为我在标签中尝试它并按预期工作。
这是我的代码:
private generateImages(ThemeInfo theme){
createThemeResourcesFolders("$resourcesPath/images/theme/$theme.name")
generateImage(Base64.decodeBase64(theme.logo), theme, "logo.png")
generateImage(Base64.decodeBase64(theme.favIcon), theme, "favicon.ico")
}
private generateImage(byte[] imageByteArray, ThemeInfo theme, String name){
new File("$resourcesPath/images/theme/$theme.name/$name").withOutputStream {OutputStream stream ->
stream.write(imageByteArray);
}
}
我没有发现异常,文件已生成但错误,因为它并没有真正显示图像。知道它是什么吗?
提前致谢!
PS:如果要查看的话,这是base64的字符串图片:https://dl.dropboxusercontent.com/u/5944885/base64Image.html
已经找到问题所在。我试图对孔字符串进行编码,包括
data:image/png;base64,
为了正确解码它,我不得不删除它。就这些!
我在尝试将 base64 格式的图像解码为 Groovy 中的实际文件时遇到了一些问题。
我理解的 Base64 字符串是有效的,因为我在标签中尝试它并按预期工作。
这是我的代码:
private generateImages(ThemeInfo theme){
createThemeResourcesFolders("$resourcesPath/images/theme/$theme.name")
generateImage(Base64.decodeBase64(theme.logo), theme, "logo.png")
generateImage(Base64.decodeBase64(theme.favIcon), theme, "favicon.ico")
}
private generateImage(byte[] imageByteArray, ThemeInfo theme, String name){
new File("$resourcesPath/images/theme/$theme.name/$name").withOutputStream {OutputStream stream ->
stream.write(imageByteArray);
}
}
我没有发现异常,文件已生成但错误,因为它并没有真正显示图像。知道它是什么吗?
提前致谢!
PS:如果要查看的话,这是base64的字符串图片:https://dl.dropboxusercontent.com/u/5944885/base64Image.html
已经找到问题所在。我试图对孔字符串进行编码,包括
data:image/png;base64,
为了正确解码它,我不得不删除它。就这些!