1.android开发
public static String encodeBase64File(String path) throws Exception {
File file = new File(path);
FileInputStream inputFile = new FileInputStream(file);
byte[] buffer = new byte[(int) file.length()];
inputFile.read(buffer);
inputFile.close();
return Base64.encodeToString(buffer, Base64.NO_WRAP);
Base64.DEFAULT:会默认换行,生成换行符,导致服务器解析出错。
Base64.NO_WRAP:不会默认换行,所以在此我们使用的是该方法。
public static String encodeBase64File(String path) throws Exception {
File file = new File(path);
FileInputStream inputFile = new FileInputStream(file);
byte[] buffer = new byte[(int) file.length()];
inputFile.read(buffer);
inputFile.close();
return Base64.encodeToString(buffer, Base64.NO_WRAP);
}
2.java开发
1. commons-codec 包下Base64.encodeBase64String(byte[]) 可实现编码且不换行(jar包版本不清楚,但commons-codec1.5和commons-codec1.6支持)
2.java.util.Base64 这个类,也可实现编码且不换行,但是它是在 JDK 1.8 的时候加入的,之前jdk版本中没有这个类。