最近在项目中种遇到了一个比较奇葩的问题,需求要求上传图片要的是图片的二进制流,而不是常用的模式,上传到图片到服务器用返回的url(http://xxxx...)形式的方式保存到数据库,
顺便附上转二进制的代码:
/**
* 图片文件转Base64字符串 * @param path 文件所在的绝对路径加文件名
*
* @return
*/
private String fileBase64String(String path) {
try {
FileInputStream fis = new FileInputStream(path);
//转换成输入流
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int count = 0;
while ((count = fis.read(buffer)) >= 0) {
baos.write(buffer, 0, count);//读取输入流并写入输出字节流中
}
fis.close();//关闭文件输入流
String uploadBuffer = new String(Base64.encodeToString(baos.toByteArray(), Base64.DEFAULT)); //进行Base64编码
return uploadBuffer;
} catch (Exception e) {
return null;