base64合成的图片打不开问题
昨天写代码的时候,通过base64字符串指定路径合成对应图片,图片能合成。但是无法打开。原因是没有去掉base64字符串的头部:"data:image/png;base64," 。
在上面的Data URI中,data表示取得数据的协定名称,image/png 是数据类型名称,base64 是数据的编码方法,逗号后面就是这个image/png文件base64编码后的数据。
目前,Data URI scheme支持的类型有:
data:,文本数据
data:text/plain,文本数据
data:text/html,HTML代码
data:text/html;base64,base64编码的HTML代码
data:text/css,CSS代码
data:text/css;base64,base64编码的CSS代码
data:text/javascript,Javascript代码
data:text/javascript;base64,base64编码的Javascript代码
data:image/gif;base64,base64编码的gif图片数据
data:image/png;base64,base64编码的png图片数据
data:image/jpeg;base64,base64编码的jpeg图片数据
data:image/x-icon;base64,base64编码的icon图片数据
base64简单地说,它把一些 8-bit 数据翻译成标准 ASCII 字符,网上有很多免费的base64 编码和解码的工具,在PHP中可以用函数base64_encode() 进行编码,如echo base64_encode(file_get_contents(‘wg.png’));
目前,IE8、Firfox、Chrome、Opera浏览器都支持这种小文件嵌入。
ImageBase64.GenerateImage(imagedata.replace("data:image/png;base64,", ""),"D:/git/book/Labproject/lab/WebContent/resourses/imgs/books"+date.getTime()+".png");
public static boolean GenerateImage(String imgStr, String newFilePath) { 对字节数组字符串进行Base64解码并生成图片 if (imgStr == null) //图像数据为空 return false; BASE64Decoder decoder = new BASE64Decoder(); OutputStream out = null;try { //Base64解码 byte[] b = decoder.decodeBuffer(imgStr); for(int i=0;i<b.length;++i) { if(b[i]<0) {//调整异常数据 b[i]+=256; } } out = new FileOutputStream(newFilePath); out.write(b); out.flush(); return true; } catch (Exception e) { return false; } finally {if(out != null){try {out.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
base64合成的图片打不开问题相关推荐
- 合成GIF图片 - 表情包
合成GIF图片 - 表情包 数据配置 - 生成GIF每一帧数据信息(当前帧原始gif素材图片 / 写入头像图片信息:宽.高.x轴位置.y轴位置.旋转角度.旋转中心点) demo 1.上传图片-裁剪(按 ...
- CVPR2020论文解读:CNN合成的图片鉴别
CVPR2020论文解读:CNN合成的图片鉴别 <CNN-generated images are surprisingly easy to spot- for now> 论文链接:htt ...
- java 图片 base64_java实现图片转base64字符串 java实现base64字符串转图片
java 图片转base64字符串.base64字符串转图片,具体内容如下 1. 图片转base64字符串: /** * base64编码字符串转换为图片 * @param imgStr base64 ...
- base64格式的图片数据如何转成图片
base64格式的图片数据如何转成图片 一.总结 一句话总结:不仅要去掉前面的格式串,还需要base64_decode()解码才行. 1 // $base_img是获取到前端传递的值 2 $base_ ...
- base64格式的图片上传阿里云
base64格式的图片上传阿里云 上传图片的时候,除了普通的图片上传,还有一张图片信息是以base64格式发送到后台的. 后台接受base64格式的图片,上传至阿里云代码:(主要是将base64转化成 ...
- java BASE64流 输出图片。
java BASE64流 输出图片. 亲测3个请求都可用,没有测试性能问题.仅供参考 BASE64Decoder Eclipsse 类可能引用不了解决方案链接:http://blog.csdn.net ...
- [待解决]自定义头像时使用vue-cropper进行图片裁剪,得到的是base64格式的图片,如何对接file类型的api接口
[待解决]自定义头像时使用vue-cropper进行图片裁剪,得到的是base64格式的图片,如何对接file类型的api接口 百度很多都没用,有想法欢迎指点.
- java保存base64图片_java保存base64位的图片,并且用时间文件夹分割
需求:首先获取一个base64格式的图片,然后保存在指定文件夹内,并且新建时间文件夹进行区分,如果时间文件夹存在就直接存储,时间文件夹不存在就新建文件夹./** * 保存图片 * * @param b ...
- 微信小程序中base64转换成图片;uni-app小程序base64转图片;微信小程序base64文件转图片;微信小程序base64图片转图片
将微信小程序的图片转成base64 点击此链接看另一篇 以下是将后端返回的base64转成图片: 方法1:使用微信小程序自带方法 //把base64转换成图片getBase64ImageUrl: (b ...
最新文章
- 图文并茂!60页PPT《快速入门python数据分析路线》(附链接)
- tomcat 配置异常/404页面
- Eclipse 黑色主题
- red hat 5.3补丁_您如何解释组织的宗旨? 来自Red Hat的3课
- 贺利坚老师汇编课程37笔记:把六个字符串里的头一个字母改写成大写字母
- 监听listview item兼容于checkbox/textview/imageview
- 将PDF论文的公式截图后转成Word可编辑公式
- 分布式智能电网-BMS蓄电池安全管理系统在各行业应用
- 背离、背驰的区别及简单的判断方法
- Day004--MySQL中的多表查询
- HTML(二)在网页中插入表格
- rtx3090显卡什么级别 rtx3090显卡什么水平 3090属于什么档次的显卡
- Mac电脑Finder侧边栏不显示iCloud云盘怎么办?
- 计算机网络常见缩略语
- 如何找出zeppelin的登入帳號密碼?
- html页中加入数学公式,Html+Css+JavaScript实现网页公式编辑器(一)
- 最新Android基础入门教程目录(完结版)
- java using用法_如何使用java合并两个PPT。(How to merge two PPTs using java.)
- XSS Challenges/刷题/Stage #6
- QEMU零知识学习2 —— QEMU源码下载