1.加密(适用于本地图片:D://abc.jpg)

public static void main(String[] args) {//String aa = GetImageStr1("D:/tttest/test.png");//System.out.println(aa);//GenerateImage(aa);GenerateImage(path);}public static String GetImageStr1(String path) {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理byte[] data = null;try {//读取图片字节数组InputStream in = new FileInputStream(path);//in = new FileInputStream(imgFile);data = new byte[in.available()];in.read(data);in.close();} catch (IOException e) {e.printStackTrace();}return new String(Base64.encodeBase64(data));}

2.加密(适用于远程图片 http://asdf/abc.jpg)

public static void main(String[] args) {/*String imgStr="";saveToImgByStr(imgStr, "d:", "test.jpg");String str = ClassLoader.getSystemResource("icons/defaultsmallidphoto.png").getFile();System.out.println(ImgToFileUtil.getImageStr(str));*/byte[] tests =getImageByteByUrl("http://192.168.112.133:8080/fileserver/userphoto/1/019faa76f0c843c3b61f489f0191ffe4.jpg");byte[] data = ImgToFileUtil.getImageByteByUrl("http://192.168.112.133:8080/fileserver/userphoto/1/019faa76f0c843c3b61f489f0191ffe4.jpg");String base64str = new BASE64Encoder().encode(data);System.out.println("base64:" + base64str);}/*** @Title:           getImageBatyByUrl* @Description:*/public static byte[] getImageByteByUrl(String strUrl) {HttpURLConnection conn = null;InputStream inStream =null;try {URL url = new URL(strUrl);conn = (HttpURLConnection)url.openConnection();conn.setRequestMethod("GET");conn.setConnectTimeout(5 * 1000);conn.setReadTimeout(5 * 1000);inStream = conn.getInputStream();//conn.getOutputStream();byte[] btImg = readInputStream(inStream);return btImg;} catch (FileNotFoundException e) {log.info("文件不存在:"+strUrl);}catch (ConnectException connex) {log.info("文件读取失败:"+strUrl);} catch (Exception e) {log.error("文件读取时出现异常:"+strUrl,e);}finally {if (inStream != null) {try {inStream.close();} catch (IOException e) {e.printStackTrace();}}if (conn != null) {conn.disconnect();}}return null;}

3.解密

public static boolean GenerateImage(String imgStr) {   //对字节数组字符串进行Base64解码并生成图片if (imgStr == null) //图像数据为空return false;//imgStr=imgStr.replace("data:image/png;base64,", "");BASE64Decoder decoder = new BASE64Decoder();try {//Base64解码byte[] b = decoder.decodeBuffer(imgStr);for(int i=0;i<b.length;++i) {if(b[i]<0) {//调整异常数据b[i]+=256;}}//生成图片String imgFilePath = "D:/tttest/copy.png";//新生成的图片OutputStream out = new FileOutputStream(imgFilePath);out.write(b);out.flush();out.close();return true;}catch (Exception e) {return false;}}

Java 图片转Base64以及反转相关推荐

  1. java图片转base64注意事项

    java转base64有两点需要注意的地方,在window操作系统中,图片转换为base64,在base64的字符串中会有默认换行,这就破坏了json格式,所以这里需要做一下处理.除此之外,在java ...

  2. java 图片 base64_java实现图片转base64字符串 java实现base64字符串转图片

    java 图片转base64字符串.base64字符串转图片,具体内容如下 1. 图片转base64字符串: /** * base64编码字符串转换为图片 * @param imgStr base64 ...

  3. java svgbase64转byte_java 图片进行base64 编码解码

    java 图片进行base64 编码解码 刘振兴 代码分享 2017年06月07日 10555 2条评论 import sun.misc.BASE64Decoder; import sun.misc. ...

  4. 图片转base64 不换行

    本贴讲的是  java  图片转base64  字符串不换行,同时不换行的字符串 转图片 主要的方法是用到了java的  import org.apache.commons.codec.binary. ...

  5. java图片文件字符串jsp_将图片转成base64字符串并在JSP页面显示的Java代码

    *本事例主要讲了如下几点: * 1:将图片转换为BASE64加密字符串. * 2:将图片流转换为BASE64加密字符串. * 3:将BASE64加密字符串转换为图片. * 4:在jsp文件中以引用的方 ...

  6. JAVA 将图片转换为Base64编码

    https://www.cnblogs.com/ywlx/p/4544179.html 这里使用的jar包是commons-codec-1.10.jar; import java.io.FileInp ...

  7. java图片转成字符串_JAVA将图片(本地或者网络资源)转为Base64字符串,将base64字符串存储为本地图片...

    网络资源代码 import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.IOExcep ...

  8. 【源码】java中图片和Base64互相转换源码

    java中的图片和Base64为之间的转换,和android有区别的 Base64和图片之间的转换可以用于客户端和服务器数据传输中,在android客户端上获取图片,然后转换成Base64,按照普通S ...

  9. java base64字符 转图片_JAVA实现图片与base64字符串之间的转换详解

    import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...

最新文章

  1. c语言俄罗斯方块注释,C语言学习1年-俄罗斯方块(无注释)
  2. 运行nltk示例 Resource u'tokenizers punkt english.pickle' not found解决
  3. 开源分布式数据库RadonDB的核心技术与实现
  4. 深度学习之卷积神经网络(5)表示学习
  5. 如何学习开源项目及Ceph的浅析
  6. Go语言计时器的使用详解
  7. 当使用malloc提示找不到标识符时?
  8. NeurIPS 2021揭榜,接收率创九年新高,中了吗中了吗?
  9. 明略数据(现在)是一家怎样的公司?
  10. atitit。ocr框架类库大全 attilax总结
  11. 树莓派 wiringpi 读取引脚_树莓派驱动的无人驾驶开发记录--驱动电机
  12. 【好书推荐】物理、数学和发明的经典科普书籍
  13. 《Head First 系列图书》大集合,附案例分析,免积分下载
  14. 企业如何做好员工关怀,减少人才流失
  15. 个人微信公众号——定位策略
  16. ServiceComb 课程
  17. 【网络学习】LSTM 长期依赖(Long-Term Dependencies)问题
  18. 轻生男子受的哥劝慰3小时 为求死刑将其杀害
  19. 软件工程 选课系统的uml类图_UML建模学生选课系统(类图+对象图+用例图+部署图)...
  20. 洛谷 P4315 月下“毛景树”(边树剖)

热门文章

  1. 有哪些科研人员看文献必用的软件?
  2. 副词,形容词记忆(III):ward,wise,some后缀常用词
  3. 【codevs 1450】小天昊的旅行2333333
  4. 电脑开不了机,电脑开不了机是什么原因
  5. 微信小程序实现首行缩进、取消首行缩进
  6. 电脑每次启动都硬盘自检
  7. 申请软著流程(附带软著源码整理工具、申请软著文档的模板)
  8. linux服务器安全—— 一次redis攻击的遭遇
  9. android 背光灯分析,Android灯光系统--深入理解背光灯
  10. Linux内核相关论坛问题回复(1)