「java图片编码」java图片编码 相同忽略

博主:adminadmin 2022-12-08 01:33:05 60

本篇文章给大家谈谈java图片编码,以及java图片编码 相同忽略对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

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

给你发个我以前的工具类吧、

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 bais = new ByteArrayInputStream(bytes1);

BufferedImage bi1 =ImageIO.read(bais);

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:"));

}

}

Java 保存图片到数据库时,为什么要对图片进行base64编码

首先这是一种SB做法,图片保存到数据库这个很浪费数据库资源, 通常情况下图片等文件都是用ftp服务器来存储文件的. 为什么要用base64进行编码是因为, base64会把文件这个文件转换成字符串, base64编码后得到的是一组字符串, 为什么要用blob类型, 因为这个类型可以存储4GB数据, 数据库中普通的 varchar varchar2 text等类型都有长度的限制

Java 图片base64编码是对图片存放路径进行编码还是对图片本身字节进行编码?

对图片本身字节进行编码。你可以完成编码后,把图片删除。拿着对应的编码,解码后还是能得到对应图片的,所以可以证明以上结论。

关于java图片编码和java图片编码 相同忽略的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-08,除非注明,否则均为首码项目网原创文章,转载请注明出处。