【问题标题】:Decoding the Base64 string in Grails在 Grails 中解码 Base64 字符串
【发布时间】:2015-06-18 12:29:56
【问题描述】:

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

下面是我解码字符串的代码

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

引发此错误:

无法将具有类“[B”的对象“[B@6aec0bd1”转换为类“javax.ws.rs.core.Response”。堆栈跟踪如下: 消息:无法将具有类“[B”的对象“[B@6aec0bd1”转换为类“javax.ws.rs.core.Response”

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

【问题讨论】:

  • 这个错误发生在哪里?

标签: grails groovy


【解决方案1】:

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

def imageString
def byteArray = imageString.decodeBase64()

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

【讨论】:

    【解决方案2】:

    你可以试试这个。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多