gpt4 book ai didi

java - Base 64 编码问题 (MIME-NO-LINEFEEDS)

转载 作者:行者123 更新时间:2023-12-02 12:05:48 27 4
gpt4 key购买 nike

在我的 Android 应用程序上,我尝试将图像编码为 Base64 字符串,以将其发送到处理它的 API。当从 AngularJS(网络)编码文件并发送它时,它可以正常工作,但仍然没有找到使其与 Android 一起工作的方法。

这是我的代码:

 ByteArrayOutputStream byteArrayOS = new ByteArrayOutputStream();
if(image.compress(compressFormat, quality, byteArrayOS)) {
return Base64.encodeToString(byteArrayOS.toByteArray(), Base64.NO_WRAP); // tried several flags ...
} else {
return null;
}

地点:

compressFormat = Bitmap.CompressFormat.JPEG;
quality = 100;
// The variable image is a Bitmap Image

错误消息:

Could not read document: Failed to decode VALUE_STRING as base64 (MIME-NO-LINEFEEDS): Illegal character '\"' (code 0x22) in base64 content\n at [Source: java.io.PushbackInputStream@5d1a0f8e; line: 1, column: 276951]

更新:有些图像(字符串)可以接受,有些则不能。但我不明白为什么......

不接受字符串:https://jsfiddle.net/dqpth401/

接受的字符串:https://jsfiddle.net/r8gLejsL/2/

我一直被这个问题困扰,欢迎任何提示/建议!

谢谢

最佳答案

该错误在可能的结尾处提到了双引号 (")。数据正确,可转换为笑脸。

现在这表明还有其他问题:

  • 内容长度、末尾减去填充、加到空格的 http 转换可能有效(其他数据)
  • 因此仍然是组件:HTML 图像标签或使用的任何内容。

在标签中,有一些元信息文本,后跟 base64

src="data:image/jpeg;base64, ..."

非常推测:jpeg(正确)中缺少 e,而不是 image/jpg(不正确)。

关于java - Base 64 编码问题 (MIME-NO-LINEFEEDS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46914832/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com