【发布时间】:2016-07-29 06:33:56
【问题描述】:
它可能是重复的,但我在将图像转换为Base64 以将其发送给Http Post 时遇到一些问题。我试过这段代码,但它给了我错误的编码字符串。
public static void main(String[] args) {
File f = new File("C:/Users/SETU BASAK/Desktop/a.jpg");
String encodstring = encodeFileToBase64Binary(f);
System.out.println(encodstring);
}
private static String encodeFileToBase64Binary(File file){
String encodedfile = null;
try {
FileInputStream fileInputStreamReader = new FileInputStream(file);
byte[] bytes = new byte[(int)file.length()];
fileInputStreamReader.read(bytes);
encodedfile = Base64.encodeBase64(bytes).toString();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return encodedfile;
}
输出: [B@677327b6
但是我在许多在线编码器中将相同的图像转换为Base64,它们都给出了正确的大 Base64 字符串。
编辑:它是如何重复的?与我重复的链接并没有给我解决我想要的字符串转换的解决方案。
我在这里错过了什么??
【问题讨论】:
-
您如何确定这是不正确的 base 64 字符串?
-
在线编码器返回大量 base64 字符串
-
你能提供POST方法的代码吗?我遇到了同样的问题(张贴图片...)谢谢!