包含java将图片base64的词条

JAVA压缩至32K以下后的图片base64码

Java实现图片与Base64编码互转

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 = “自己写哈”;

    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;

    }

  }

}

包含java将图片base64的词条

java 把一个网络图片转换为base64

这个简单啊

(1)把获取url流转为bitmap

(2)把bitmap再转为base64

public static Bitmap getBitMBitmap(String urlpath) {

Bitmap map = null;

try {

URL url = new URL(urlpath);

URLConnection conn = url.openConnection();

conn.connect();

InputStream in;

in = conn.getInputStream();

map = BitmapFactory.decodeStream(in);

// TODO Auto-generated catch block

} catch (IOException e) {

e.printStackTrace();

}

return map;

}

第二步

/**

* bitmap转为base64

* @param bitmap

* @return

*/

public static String bitmapToBase64(Bitmap bitmap) {

String result = null;

ByteArrayOutputStream baos = null;

try {

if (bitmap != null) {

baos = new ByteArrayOutputStream();

bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);

baos.flush();

baos.close();

byte[] bitmapBytes = baos.toByteArray();

result = Base64.encodeToString(bitmapBytes, Base64.DEFAULT);

}

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

if (baos != null) {

baos.flush();

baos.close();

}

} catch (IOException e) {

e.printStackTrace();

}

}

return result;

}

有什么问题提问就好

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

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

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

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

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读取照片保存到达梦数据库

存储图片是后端服务器比较基础的功能,一般来说,图片可以存储在服务器的文件系统中,然后数据库中只需要存储url就可以了。另外一种办法是,将图片通过Base64编码后存储到数据库中,数据库中存储图片的base64编码的二进制可以使用TEXT(mysql)类型。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月27日 03:37:53
下一篇 2024年3月27日 03:44:04

相关推荐

  • 深入java虚拟机pdf,深入java虚拟机 中村成洋 pdf

    在linux环境下,java怎么实现从word格式转换为pdf格式 //设置当前使用的打印机,我的Adobe Distiller打印机名字为 Adobe PDF wordCom.setProperty( ActivePrinter , new Variant( Adobe PDF ));//设置printout的参数,将word文档打印为postscript…

    2024年5月23日
    4300
  • java截取指定长度字符串,java截取指定字符串之后的

    java中如何截取字符串中的指定一部分 第一个参数是开始截取的字符位置。(从0开始)第二个参数是结束字符的位置+1。(从0开始)indexof函数的作用是查找该字符串中的某个字的位置,并且返回。 int end);截取s中从begin开始至end结束时的字符串,并将其赋值给s;split讲解:java.lang.string.split split 方法 将…

    2024年5月23日
    4100
  • 包含linuxiisaccess的词条

    毕业论文:linux系统的web服务器架设 1、我们以RedHat Linux 0系统为例,想要linuxconf在Web浏览器环境工作,必须进行以下设置: * 在gnome-linuxconf对话框中,打开“Config/Networking/Misc/Linuxconf network access”分支,选中“Enable netwoork acces…

    2024年5月23日
    4300
  • java绑定一个端口,java使用端口

    java如何多个service共用一个端口 你如果有多个项目的话,你可以把多个项目放到一个tomcat里面,这样端口相同使用项目名称来进行区分项目。你如果非要使用同一个,你也可以配置不同的域名导向不同的项目。就是访问的域名不同转接到的项目不同。 如果需要同时启动多个程序,要么修改tomcat的配置文件中的监听端口。要么修改jar包程序的监听端口。不能在一台服…

    2024年5月23日
    3400
  • 包含黑客技术学习网址的词条

    信息安全技术专业的相关学习网站有哪些? 1、关于学习类的网站有掌门1对多贝、网易云课堂、慕课、传课、CSDN、我要自学网等等。 2、网络安全主要集中在大型城市,如北京上海广州深圳等,那里安全公司特别多,如360,天融信,奇安信等,所以学习网络安全建议选择这些城市。 3、入侵检测系统技术(IDS);加密&VPN技术;产品安全;安全管理。基础课程的主要内…

    2024年5月23日
    5000
  • java多线程并发编程基础,Java多线程并发执行返回

    电脑培训分享Java并发编程:核心理论 电脑培训发现本系列会从线程间协调的方式(wait、notify、notifyAll)、Synchronized及Volatile的本质入手,详细解释JDK为我们提供的每种并发工具和底层实现机制。 人们开始意识到了继承的众多缺点,开始努力用聚合代替继承。软件工程解决扩展性的重要原则就是抽象描述,直接使用的工具就是接口。接…

    2024年5月23日
    4600
  • excel选定图片对象,excel对象图标图片

    excel如何全选图片 1、全选图片打开EXCEL表格,在键盘上按下“ALT+A”,全选所有的图片。调大图片点击任意一个图片选择框上四个角落的小圆圈,往外拉动鼠标,所有的图片统一调大。 2、按住 Alt 键,再单击图片。也可以右击图片,然后在图片外空白区单击一下。在选中任一幅图片之后,按下组合键“Ctrl + A”,即可选中所有图片了。“Ctrl + A”,…

    2024年5月23日
    4600
  • 自学java找工作,自学java找工作需要包装简历吗

    自学java学多久可以找到工作 1、自学Java至少需要一年以上的时间才能达到找工作的水平。报班培训四到六个月的时间就可以找到一份不错的工作。 2、自学Java至少需要一年以上的时间才能达到找工作的水平。 3、如果要想找到一份Java相关的工作,需要至少学习5-6个月时间才能就业。Java开发需要掌握一些基础的编程语言知识,比如掌握面向对象的编程思想、基本的…

    2024年5月23日
    4200
  • 包含c语言对txt文件命名的词条

    如何在C语言编程里面修改源文件名字 如果你是在WINDOWS的话,简单了,随便用个编辑器,比如记事本,然后写c源程序,保存到你想要保存的位置。如果你在DOS下,可以用edit,写好以后,按alt键,选择文件菜单,然后保存。 用open打开文件,注意操作模式使用“修改”或者“添加” 用write或者fprintf向文件中写入你的内容。 用close关闭文件。 …

    2024年5月23日
    4800
  • java左移右移,java 左移

    java位移问题 1、思路:直接用Integer类的bit运算操作。 2、移位操作:左移:向左移位,符号后面的数字是移了多少位,移的位用0补齐,例如2进制数01111111左移一位后变为11111110,移位是字节操作。 3、Java 位运算 Java 位运算[转]一,Java 位运算表示方法: 在Java语言中,二进制数使用补码表示,最高位为符号位,正数的…

    2024年5月23日
    4100

发表回复

登录后才能评论



关注微信