java,使用photoClip得到base64然后转换流存到本地,图片无法打开

hancunyufornet007 2016-01-25 04:57:47
如题
我把截取后图片的dataUrl base64 在后台解码后写到本地为jpg
H5做的,但是用浏览器截取后一切正常,在手机上截取后,生成的图片就无法打开
提示 损坏或者过大
...全文
473 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jesselydia 2016-08-26
  • 打赏
  • 举报
回复
解决了吗?我也遇到相同的问题。
fengqingyang0325 2016-08-25
  • 打赏
  • 举报
回复
解决了吗?我也遇到类似的问题。
哈喽门 2016-07-28
  • 打赏
  • 举报
回复
base64 = base64.replace("data:image/jpeg;base64,", ""); 这啥意思?? 用这个试试: String str1 = base64.split(",")[1];//去掉头取base64内容 byte[] bytes =decoder.decodeBuffer(str1);//获取到内容做解码 ....//这我就不写了,跟你写的差不多,把流写到文件里就行
A_S478 2016-07-28
  • 打赏
  • 举报
回复
怎么交互的,能给个示例不
hancunyufornet007 2016-01-25
  • 打赏
  • 举报
回复
顶顶顶顶顶顶顶
hancunyufornet007 2016-01-25
  • 打赏
  • 举报
回复

$("#clipArea").photoClip({
		width: 280,
		height: 280,
		file: "#file",
		view: "#view",
		ok: "#clipBtn",
		outputType:"jpg",
		loadStart: function() {
			console.log("照片读取中");
		},
		loadComplete: function() {
			console.log("照片读取完成");
		},
		clipFinish: function(dataURL) {
			upPic(dataURL);
		}
	});

base64 = base64.replace("data:image/jpeg;base64,", "");
			LOG.error("out:"+base64);
			byte[] bs = decoder.decodeBuffer(base64);//sun.misc.BASE64Decoder
			for (int i = 0; i < bs.length; ++i) {
				if (bs[i] < 0) {// 调整异常数据
					bs[i] += 256;
				}
			}
			os = new FileOutputStream(path);
			os.write(bs);



81,116

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧