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中直接使用,却找不到该类。如下图!
解决方法如图:右键项目-》属性-》构建路经
右键项目-》属性-》Javabulid path-》jre System Library-》access rules-》resolution选择accessible,下面填上** 点击确定即可!!!
这是英文版界面
另外网上也有用相应的替代的对象及方法,如使用
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());
亲测,效果一样!!!