我正在尝试发送图像转换为base64
字符串的对象,但是当我将object
转换为json
字符串以发送它时,多个{{1} }字符添加到该字符串中,使其在到达服务器时无效。
将位图转换为有效的"\n"
(我检查了其是否有效)
base64
创建请求并设置 ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream);
base64Str = Base64.encodeToString(outputStream.toByteArray(),
Base64.DEFAULT);
字符串以发送给支持的人
base64
在writeValueAsString上,在 ObjectMapper mapper = new ObjectMapper();
Request = new Request();
payload.setData(base64);
值的末尾添加了一个"/n"
,这使其无效
base64
有效基数64的一部分,然后转换为json
String reqBody = "";
try {
reqBody = mapper.writeValueAsString(payload);
}
catch (Exception ex) {
}
转换为json后有效基数64的一部分(请注意包含“ \ n”)
"Kz7cruI+8gLNZRgnnKihQFDNt42sGaQlWMhVt2fLG9Q20NwpIx/
J0OWdOM4cso8tlZ3skldNWau0mmt7XT1P2/mcH
aWk15dFJrm+53Xndu7aP/9k="
答案 0 :(得分:0)
发现了问题,默认情况下,将新行字符“ \ n”添加到encodeToString上,以添加环绕效果。只需将Base64.DEFAULT替换为Base64.NO_WRAP即可将其从编码字符串中删除。