java后台保存base64图片数据
2016-08-03 15:59
477 查看
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中直接使用,却找不到该类。如下图!
解决方法如图:右键项目-》属性-》构建路经
右键项目-》属性-》java bulid 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());
另加若遇到上传图片超过2M时可能遇到的问题解决
使用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中直接使用,却找不到该类。如下图!
解决方法如图:右键项目-》属性-》构建路经
右键项目-》属性-》java bulid 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());
public AjaxJson GetLayerList(HttpServletRequest request) throws Exception{ AjaxJson j = new AjaxJson(); String message = ""; String base64Code = request.getParameter("base64Code"); if(null == base64Code || "".equals(base64Code)) { j.setSuccess(false); } String tempSavePath = sysConfigServiceI.getPathByTypeNo("2");//临时文件路径 if(null ==tempSavePath || "".equals(tempSavePath)){ j.setSuccess(false); systemService.addLog("扫描文件失败,没有设置扫描文件临时路径", Globals.Log_Type_SCAN, Globals.Log_Leavel_WARRING); message = "扫描文件失败,没有设置扫描文件临时路径"; j.setMsg(message); return j; } if(!tempSavePath.endsWith("/") && !tempSavePath.endsWith("\\\\")){ tempSavePath += "/"; } File logosavedir = new File(tempSavePath);// path1为存放的路径 if (!logosavedir.exists()) {// 如果不存在文件夹,则自动生成 logosavedir.mkdirs(); } String fileName = tempSavePath + UUIDGenerator.generate()+".jpg"; try{ Base64 base64 = new Base64(); byte[] bytes = base64.decodeBase64(new String(base64Code).getBytes()); ByteArrayInputStream in = new ByteArrayInputStream(bytes); byte[] buffer = new byte[1024]; FileOutputStream out = new FileOutputStream(fileName); int bytesum = 0; int byteread = 0; while ((byteread = in.read(buffer)) != -1) { bytesum += byteread; out.write(buffer, 0, byteread); // 文件写操作 out.flush(); } out.close(); j.setSuccess(true); message = fileName; }catch (Exception e) { j.setSuccess(false); message = "保存图片异常!"; } j.setMsg(message); return j; }
另加若遇到上传图片超过2M时可能遇到的问题解决
相关文章推荐
- java 后台将base64字符串保存为图片的方法
- Java实现头像截取裁剪后图片保存,获取的是base64数据,怎么转换为图片并保存到数据库。并读取出来。
- java 后台将base64字符串保存为图片
- Java实现头像截取裁剪后图片保存,获取的是base64数据,怎么转换为图片并保存到数据库。
- Java实现头像截取裁剪后图片保存,获取的是base64数据,怎么转换为图片并保存到数据库。
- java 后台将base64字符串保存为图片
- java将图片转化为base64和base64转化为图片编码并保存在本地;以及android转base64编码
- jQuery使用Base64 生成图片预览和java后台不同的接收处理方式
- JAVA将图片保存成oracle的Blob类型数据
- 基于jquery的imgAreaSelect.js插件+JAVA后台实现图片裁剪保存功能
- Java实现base64图片转换为base64字符串。base64字符串转换图片 之间的互相转换,并保存在本地。
- java 后台把数据以图片的形式传到前台
- jquery异步ajax超大长度base64图片长字段数据传输问题解决办法和php后台处理办法
- php保存cavas导出base64数据到图片文件
- java-后台生成图表、并将图表保存为PNG图片
- android传输图片数据给java后台(HTML)原始封装
- java-后台生成图表、并将图表保存为PNG图片
- Java+MySql图片数据保存与读取的具体实例
- 让input支持 ctrl v上传粘贴图片? 让input支持QQ截图或剪切板中的图像数据(Java实现保存)
- JAVA 把base64图片数据转为本地图片