sun.misc.BASE64Decoder导入异常及处理思路

Java后台保存base64图片数据

使用byte[] bytes = new BASE64Decoder().decodeBuffer(str);需要引入sun.misc.BASE64Decoder,但在eclipse中提示如下警告:

 

 

查阅后在一篇文章中提到:

“一直以来Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的sun.misc.BASE64Encoder/BASE64Decoder类。这人个类是sun公司的内部方法,并没有在java api中公开过,不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用。但是在eclipse和MyEclipse中直接使用,却找不到该类。”

详细解释可以参照:http://blog.sina.com.cn/s/blog_5a6efa330102v8st.html

 

 

一直以来Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的sun.misc.BASE64Encoder/BASE64Decoder类。这人个类是sun公司的内部方法,并没有在java api中公开过,不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用。但是在eclipse和MyEclipse中直接使用,却找不到该类。如下图!

BASE64Encoder及BASE64Decoder的正确用法

解决方法如图:右键项目-》属性-》构建路经

BASE64Encoder及BASE64Decoder的正确用法

右键项目-》属性-》Java bulid path-》jre System Library-》access rules-》resolution选择accessible,下面填上** 点击确定即可!!!

 

 

BASE64Encoder及BASE64Decoder的正确用法

 

BASE64Encoder及BASE64Decoder的正确用法

这是英文版界面

BASE64Encoder及BASE64Decoder的正确用法

另外网上也有用相应的替代的对象及方法,如使用

org.apache.commons.codec.binary.Base64类等。可以自己去查用!

 

以上内容均参考自:http://blog.sina.com.cn/s/blog_5a6efa330102v8st.html

 

 

改使用org.apache.commons.codec.binary.Base64

 

String base64Code = request.getParameter("base64Code");
Base64 base64 = new Base64();
byte[] bytes = base64.decodeBase64(new String(base64Code).getBytes());

 

亲测,效果一样!!!

 

posted @ 2017-06-07 14:15  Mr_伍先生  阅读(18973)  评论(0编辑  收藏  举报