从Base64编码转换为图片文件
package luckyclient.utils;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class Base64Image {
public static void main(String[] args) {
// 测试从Base64编码转换为图片文件
String strImg = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2..................P/9k=";
GenerateImage(strImg, "D:\\wangyc.jpg");
// // 测试从图片文件转换为Base64编码
// System.out.println(GetImageStr("d:\\wangyc.jpg"));
}
//
// public static String GetImageStr(String imgFilePath) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
// byte[] data = null;
//
// // 读取图片字节数组
// try {
// InputStream in = new FileInputStream(imgFilePath);
// data = new byte[in.available()];
// in.read(data);
// in.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
//
// // 对字节数组Base64编码
// BASE64Encoder encoder = new BASE64Encoder();
// return encoder.encode(data);// 返回Base64编码过的字节数组字符串
// }
public static boolean GenerateImage(String imgStr, String imgFilePath) {// 对字节数组字符串进行Base64解码并生成图片
if (imgStr == null) // 图像数据为空
return false;
BASE64Decoder decoder = new BASE64Decoder();
try {
// Base64解码
byte[] bytes = decoder.decodeBuffer(imgStr);
for (int i = 0; i < bytes.length; ++i) {
if (bytes[i] < 0) {// 调整异常数据
bytes[i] += 256;
}
}
// 生成jpeg图片
OutputStream out = new FileOutputStream(imgFilePath);
out.write(bytes);
out.flush();
out.close();
return true;
} catch (Exception e) {
return false;
}
}
}
从Base64编码转换为图片文件的更多相关文章
- C#中图片转换为Base64编码,Base64编码转换为图片
		
#region 图片转为base64编码的字符串 public string ImgToBase64String(string Imagefilename) { try { Bitmap bmp = ...
 - Java Base64编码与图片互转
		
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...
 - Base64编码与图片互转
		
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...
 - javascript将base64编码的图片数据转换为file并提交
		
/** @param base64Codes 图片的base64编码 */ function sumitImageFile(base64Codes){ var form=document.forms[ ...
 - (转载)javascript将base64编码的图片数据转换为file并提交
		
/** * @param base64Codes * 图片的base64编码 */ function sumitImageFile(base64Codes){ var form=document.fo ...
 - 问题:C#将base64转换成二进制图片;结果:c# Base64编码和图片的互相转换代码
		
c# Base64编码和图片的互相转换代码 Base64编码在Web方面有很多应用,譬如在URL.电子邮件方面.网上有很多相关的资源用于提供Base64编码和其他编码的转换,.Net Framewor ...
 - 浅析用Base64编码的图片优化网页加载速度
		
想必大家都知道网页加载的过程,从开始请求,到加载页面,开始解析和显示网页,遇到图片就再次向服务器发送请求,加载图片.如果图片很多的话,就会产生大量的http请求,从而影响页面的加载速度.所以现在有一种 ...
 - c# Base64编码和图片的互相转换代码
		
将图片转化为Base64字符串的流程是:首先使用BinaryFormatter将图片文件序列化为二进制数据,然后使用Convert类的ToBase64String方法.将Base64字符串转换为图片的 ...
 - BASE64编码的图片在网页中的显示问题的解决
		
BASE64位转码有两种: 一种是图片转为Base64编码,这种编码是直接可以在页面通过<img src='base64编码'/>的方式显示 Base64 在CSS中的使用 .demoIm ...
 
随机推荐
- 【JavaWeb】【JSP】【Bean】JavaBean基础使用方法与操作步骤
			
JavaBean基础使用方法与操作步骤 JavaWeb jsp Bean 项目结构 JavaBean的概念 JavaBean是可复用的.平台独立的软件组件 JavaBean既可以是简单的GUI要素,如 ...
 - Apache Hudi 与 Hive 集成手册
			
1. Hudi表对应的Hive外部表介绍 Hudi源表对应一份HDFS数据,可以通过Spark,Flink 组件或者Hudi客户端将Hudi表的数据映射为Hive外部表,基于该外部表, Hive可以方 ...
 - [BUUCTF]REVERSE——crackMe
			
crackMe 附件 步骤: 例行检查,32位程序,无壳 32位ida载入,已知用户名welcomebeijing,解密码,直接看main函数 可以看到程序是个死循环,只有满足sub_404830函数 ...
 - [BUUCTF]PWN20——ciscn_2019_n_5
			
[BUUCTF]PWN20--ciscn_2019_n_5 附件 步骤: 例行检查,64位,没有开启任何保护 试运行一下程序,看看程序的执行情况 64位ida载入,找到main函数, 逻辑很简单,第一 ...
 - java 数据类型:<泛型>在方法中和在构造器中的应用
			
背景: Java不允许我们把对象放在一个未知的集合中. import java.util.ArrayList; import java.util.List; /** * @ClassName Meth ...
 - python获取命令行传参的两种种常用方法argparse解析getopt 模块解析
			
方法一:argparse解析 #!/usr/bin/env python3 # -*- coding:utf-8 -*- # @Time: 2020/5/20 10:38 # @Author:zhan ...
 - 通过一道简单的例题了解Linux内核PWN
			
写在前面 这篇文章目的在于简单介绍内核PWN题,揭开内核的神秘面纱.背后的知识点包含Linux驱动和内核源码,学习路线非常陡峭.也就是说,会一道Linux内核PWN需要非常多的铺垫知识,如果要学习可以 ...
 - mysql报错:You do not have the SUPER privilege and binary logging is enabled
			
MySQL出现 You do not have the SUPER privilege and binary logging is enabled报错 解决方案: 1.用root用户登录:mysql ...
 - 【LeetCode】167. Two Sum II - Input array is sorted 解题报告(Python)
			
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 Java解法 Python解法 日期 题目地址:ht ...
 - 【LeetCode】648. Replace Words 解题报告(Python & C++)
			
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 set 字典 前缀树 日期 题目地址:https:/ ...