问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中如何用base64解码图片,并返回图片,不保存。

发布网友 发布时间:2022-04-21 15:26

我来回答

1个回答

热心网友 时间:2024-07-23 16:42

给你发个我以前的工具类吧、
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.imageio.ImageIO;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class ImageChange {
/**
* 从path这个地址获取一张图片然后转为base64码
* @param imgName 图片的名字 如:123.gif(是带后缀的)
* @param path 123.gif图片存放的路径
* @return
* @throws Exception
*/
public static String getImageFromServer(String imgName,String path)throws Exception{
BASE64Encoder encoder = new sun.misc.BASE64Encoder();
File f = new File(path+imgName);
if(!f.exists()){
f.createNewFile();
}
BufferedImage bi = ImageIO.read(f);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bi, "gif", baos);
byte[] bytes = baos.toByteArray();
return encoder.encodeBuffer(bytes).trim();
}

/**
* 将一个base64转换成图片保存在 path 文件夹下 名为imgName.gif
* @param base64String
* @param path 是一个文件夹路径
* @param imgName 图片名字(没有后缀)
* @throws Exception
*/
public static String savePictoServer(String base64String,String path,String imgName)throws Exception{
BASE64Decoder decoder = new sun.misc.BASE64Decoder();
byte[] bytes1 = decoder.decodeBuffer(base64String);
ByteArrayInputStream s = new ByteArrayInputStream(bytes1);
BufferedImage bi1 =ImageIO.read(s);

Date timeCur = new Date();
SimpleDateFormat fmtYY = new SimpleDateFormat("yyyy");
SimpleDateFormat fmtMM = new SimpleDateFormat("MM");
SimpleDateFormat fmtDD = new SimpleDateFormat("dd");
String strYY = fmtYY.format(timeCur);
String strMM = fmtMM.format(timeCur);
String strDD = fmtDD.format(timeCur);

String realPath = path+"/"+strYY+"/"+strMM+"/"+strDD;

File dir=new File(realPath);
if(!dir.exists()){
dir.mkdirs();
}
String fileName=path+"\\"+strYY+"\\"+strMM+"\\"+strDD +"\\"+imgName+".gif";
File w2 = new File(fileName);//可以是jpg,png,gif格式
ImageIO.write(bi1, "jpg", w2);//不管输出什么格式图片,此处不需改动

return fileName;
}

public static void main(String[] args) throws Exception {
System.out.println(getImageFromServer("001001.gif","d:"));
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? java jdk 11 怎么处理base64 JAVA怎么将PDF的base64转换成jpg的base64 JAVA压缩至32K以下后的图片base64码 Java 图片base64编码是对图片存放路径进行编码还是对图片本身字节进行编码? 在 java 中如何进行base64 编码和解码 利用JAVA怎样把String转换成base64-CSDN论坛 在Java中如何进行BASE64编码和解码 java 把一个网络图片转换为base64 从文件中读取数据并编码成base64 java java怎么把普通字符串转换为base64字符串 怎么用JAVA对一个文件进行base64编码 华硕主板p5kpl-am se怎么样 M2N68-AM PLUS(GREEN) peter haurtling 介绍? "Wer zuletzt lacht, lacht am besten"什么意思 常用的wifi芯片有哪些 谁有RTL8711 USB这个无线网卡驱动撒,那位好心帮帮忙 热气球是什么做的啊, 热气球的发明者是谁 热气球的简介,超速!! Java 图片base64编码是对图片存放路径进行编码还是对图片本身字节进行编码? java web开发,页面处理Base64编码 java转化BASE64为PNG的异常情况 长按复制链接到手机浏览器观看视频,直接点开看不了! 我想知道复制到浏览器观看是什么意思 空间浏览记录显示复制到浏览器打开什么意思? 税务开票软件怎么升级 404 Not Found 怎么弄链接复制到浏览器或者在微信里直接观看。 在浏览器上复制的文字怎么查看? 复制这网址,粘贴到浏览器打开可以看到可用GEC了 怎样复制浏览器中收藏的网页。 为什么我分享的链接打开了还要你复制粘贴去浏览器去看 增值税普通发票上报汇总可以点2遍吗 用税控盘购买发票时提示401 读取金税设备版本号信息失败,err-1 没有检测到税控设备 无法读取金税盘时间版本号怎么处理 石榴的功效有什么功效 吃石榴有什么好处?石榴的功效与作用 石榴的营养成分和功效 吃石榴的功效与作用