昨天写代码的时候,通过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合成的图片打不开问题相关推荐

  1. 合成GIF图片 - 表情包

    合成GIF图片 - 表情包 数据配置 - 生成GIF每一帧数据信息(当前帧原始gif素材图片 / 写入头像图片信息:宽.高.x轴位置.y轴位置.旋转角度.旋转中心点) demo 1.上传图片-裁剪(按 ...

  2. CVPR2020论文解读:CNN合成的图片鉴别

    CVPR2020论文解读:CNN合成的图片鉴别 <CNN-generated images are surprisingly easy to spot- for now> 论文链接:htt ...

  3. java 图片 base64_java实现图片转base64字符串 java实现base64字符串转图片

    java 图片转base64字符串.base64字符串转图片,具体内容如下 1. 图片转base64字符串: /** * base64编码字符串转换为图片 * @param imgStr base64 ...

  4. base64格式的图片数据如何转成图片

    base64格式的图片数据如何转成图片 一.总结 一句话总结:不仅要去掉前面的格式串,还需要base64_decode()解码才行. 1 // $base_img是获取到前端传递的值 2 $base_ ...

  5. base64格式的图片上传阿里云

    base64格式的图片上传阿里云 上传图片的时候,除了普通的图片上传,还有一张图片信息是以base64格式发送到后台的. 后台接受base64格式的图片,上传至阿里云代码:(主要是将base64转化成 ...

  6. java BASE64流 输出图片。

    java BASE64流 输出图片. 亲测3个请求都可用,没有测试性能问题.仅供参考 BASE64Decoder Eclipsse 类可能引用不了解决方案链接:http://blog.csdn.net ...

  7. [待解决]自定义头像时使用vue-cropper进行图片裁剪,得到的是base64格式的图片,如何对接file类型的api接口

    [待解决]自定义头像时使用vue-cropper进行图片裁剪,得到的是base64格式的图片,如何对接file类型的api接口 百度很多都没用,有想法欢迎指点.

  8. java保存base64图片_java保存base64位的图片,并且用时间文件夹分割

    需求:首先获取一个base64格式的图片,然后保存在指定文件夹内,并且新建时间文件夹进行区分,如果时间文件夹存在就直接存储,时间文件夹不存在就新建文件夹./** * 保存图片 * * @param b ...

  9. 微信小程序中base64转换成图片;uni-app小程序base64转图片;微信小程序base64文件转图片;微信小程序base64图片转图片

    将微信小程序的图片转成base64 点击此链接看另一篇 以下是将后端返回的base64转成图片: 方法1:使用微信小程序自带方法 //把base64转换成图片getBase64ImageUrl: (b ...

最新文章

  1. 图文并茂!60页PPT《快速入门python数据分析路线》(附链接)
  2. tomcat 配置异常/404页面
  3. Eclipse 黑色主题
  4. red hat 5.3补丁_您如何解释组织的宗旨? 来自Red Hat的3课
  5. 贺利坚老师汇编课程37笔记:把六个字符串里的头一个字母改写成大写字母
  6. 监听listview item兼容于checkbox/textview/imageview
  7. 将PDF论文的公式截图后转成Word可编辑公式
  8. 分布式智能电网-BMS蓄电池安全管理系统在各行业应用
  9. 背离、背驰的区别及简单的判断方法
  10. Day004--MySQL中的多表查询
  11. HTML(二)在网页中插入表格
  12. rtx3090显卡什么级别 rtx3090显卡什么水平 3090属于什么档次的显卡
  13. Mac电脑Finder侧边栏不显示iCloud云盘怎么办?
  14. 计算机网络常见缩略语
  15. 如何找出zeppelin的登入帳號密碼?
  16. html页中加入数学公式,Html+Css+JavaScript实现网页公式编辑器(一)
  17. 最新Android基础入门教程目录(完结版)
  18. java using用法_如何使用java合并两个PPT。(How to merge two PPTs using java.)
  19. XSS Challenges/刷题/Stage #6
  20. QEMU零知识学习2 —— QEMU源码下载

热门文章

  1. 如何做好游戏内实时语音体验 1
  2. c语言拓扑多边形自动生成,GIS系统中多边形矢量数据自动拓扑的算法
  3. java返回字符串浏览器换行_解决浏览器显示页面长字符串换行问题总结
  4. 【面试实战】Java面试的时候,你能这么回答,就基本都可以过了!
  5. MixNet解析以及pytorch源码
  6. 基于Matlab的数字水印技术研究
  7. 逆战关于Vue学习的一点心得
  8. hdu1667 The Rotation Game
  9. pygame中文乱码问题
  10. 第二课 基础篇_SQL语法