解码Grails中的Base64字符串

时间:2015-06-18 12:29:57

标签: grails groovy

我正在开发一个Web API,我在其中以JSON格式从应用程序发送数据,其中包含一个图像作为我需要在服务器上解码的base64字符串。

下面是解码字符串

的代码
def imageString=object.image
Base64 coder = new Base64()
def decode=coder.decode(imageString)

会抛出此错误:

  

无法将对象'[B @ 6aec0bd1'与类'[B']转换为类'javax.ws.rs.core.Response'。 Stacktrace如下:   消息:无法将对象'[B @ 6aec0bd1'与类'[B''转换为类'javax.ws.rs.core.Response'

对此有什么可行的解决方案?

2 个答案:

答案 0 :(得分:1)

如果你有一个base64编码的字符串,你可以用它来转换为字节数组:

def imageString
def byteArray = imageString.decodeBase64()

但是,在您的异常中,object.image似乎已经是一个字节数组,而不是一个字符串:java类型描述符[B表示一个原始字节数组。这表明它可能已经从其他地方的base64转换过来了。

答案 1 :(得分:0)

你可以试试这个。

def imageString=object.image 
Base64 coder = new Base64()
byte[] decoded=coder.decodeBase64(imageString)
String s == new String(decoded)