[英]How to convert byte array of an image to a base64 encoded string representing a jpg
I am writing an Android app that takes photos and uploads them. 我正在编写一个Android应用程序,可以拍摄照片并上传它们。
The API requires a base 64 encoded string representing the jpg to upload. API需要一个base 64编码的字符串,表示要上传的jpg。
The Camera API gives me a byte []
. Camera API给了我一个
byte []
。
How can I go about converting this byte array into a base64 encoded string, ensuring I keep jpg format? 我怎样才能将这个字节数组转换为base64编码的字符串,确保我保持jpg格式?
Currently, I am trying String encoded = Base64.encodeToString(byteArray, Base64.NO_WRAP);
目前,我正在尝试
String encoded = Base64.encodeToString(byteArray, Base64.NO_WRAP);
But this somehow is invalid, giving me a bunch of AAAAAAAAA
s in the log rather than a real base64 encoded string. 但这在某种程度上是无效的,在日志中给我一堆
AAAAAAAAA
而不是真正的base64编码字符串。
Thanks for any help 谢谢你的帮助
EDIT: 编辑:
Actually, when I log out the contents of encoded
above, I get 实际上,当我注销上面
encoded
的内容时,我得到了
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
But when it actually posts to the server (using Square's Retrofit library), I get hundreds of thousands of AAAAA
s after this that break the server. 但是当它实际发布到服务器(使用Square的Retrofit库)时,我会在此之后获得数十万个
AAAAA
,从而破坏服务器。
Despite this, though, the logged encoded string doesn't seem long enough to encapsulate all the data that would be associated with a photo from an LG G3. 尽管如此,记录的编码字符串似乎不足以封装与LG G3中的照片相关联的所有数据。
Use 采用
byte [] data = Base64.decode(base64str);
you would need to reference commons codec from your project in order for that code to work. 您需要从项目中引用commons编解码器才能使该代码生效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.