- 图片转换为 base64 编码
Base64Util.encode(字节数组);
- 将 base64 解码为图片字节数组
Base64Util.decode(字节数组);
- 完整解密并存储在服务器路径如下
/**
* base64解码为图片
* @param gfile map格式Key为图片名称,值为base64图片编码
* */
public static Map<String, String> saveFileByByte(JSONObject gfile) {
File filePath = new File(Global.FILE_SAVE_PATH);//
Map<String, String> fileMap = new HashMap<String, String>();
if (!filePath.exists()) {
filePath.mkdirs();
}
Iterator<String> it = gfile.keys();
while (it.hasNext()) {
String name = it.next();// 图片名称
String newFileName = IdUtil.uuid();// 存储到服务器上的名称
// 获取文件后缀名称
String filetype = name.substring(name.lastIndexOf(".") + 1);
newFileName = newFileName + "." + filetype;//新文件名称加后缀
String tmpFile = Global.FILE_SAVE_PATH + newFileName;
fileMap.put(name, tmpFile);// 返回图片名称及服务器上的完整路径
// 读取图片字节数组
InputStream is = null;
OutputStream out = null;
try {
String obj = gfile.getString(name); // base64图片编码
// xml转换成string时会将+替换为空格,所以此处再将空格替换为+即可
obj = obj.replaceAll(" ", "+");
byte[] bs = Base64Util.decode(obj);
out = new FileOutputStream(tmpFile);
is = new ByteArrayInputStream(bs);
byte[] buff = new byte[1024];
int len = 0;
while ((len = is.read(buff)) != -1) {
out.write(buff, 0, len);
}
is.close();
out.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
is.close(); // 无论是否异常必须关闭流操作
out.close();
} catch (IOException e) {
is = null;
out = null;
e.printStackTrace();
}
}
}
return fileMap;
}
base64 工具类下载
Base64Utiljava
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于