我有一个post api,我发送的json字符串包含base64编码的image.Below是json字符串
{ "imageData":"base64encoded string",
"status":"1"
}
其中base64encode字符串是iVBORw0KGgoAAAANSUhEUgAAAHgAAACgCAIAAABIaz / HAAAAAXNSR0IArs4c6QAA \ r \ nABxpRE9UAAAAAgAAAAAAAABQAAAAKAAAAFAAAABQAABWL3xrAqoAAEAASURBVHgB \ r \ nlL2Fe1t7mueZme6uewNGMUu2LNkyySSjDJKZmZkSO8zM7CTmmJnZYbxUVbdgsKp7 \ r \ nqqdrdp
由于篇幅太长,我无法发布完整的编码。如何将此编码的字符串转换为服务器端的图像文件。实际上我从那里开始将图像上传到ftp服务器上。
答案 0 :(得分:1)
Base64使用Ascii字符发送二进制文件,因此要检索图像,基本上必须将Base64字符串解码回字节数组并将其保存到文件中。
String encoded = 'iVBORw0KGgoAAAANSUhEUg' // You complete String
encoded.replaceAll("\r", "")
encoded.replaceAll("\n", "")
byte[] decoded = encoded.decodeBase64()
new File("file/path").withOutputStream {
it.write(decoded);
}
编辑:您遇到编码字符串中\r\n
字符无效的问题,您必须在一行中使用base64字符串对其进行解码。我更新了示例代码来执行此操作。