Java处理图片实现base64编码转换

前言

环境:使用这个代码前:请确保你的JDk是JAVA8及其以上

开发测试地址:http://imgbase64.duoshitong.com/ 可以查看是否执行成功

注意事项

一般插件返回的base64编码的字符串都是有一个前缀的。"data:image/jpeg;base64," 解码之前这个得去掉。

Code

MainTest

/**
   * 示例
   * @throws UnsupportedEncodingException
   * @throws FileNotFoundException
   */
  @SuppressWarnings("resource")
  public static void main(String[] args) throws UnsupportedEncodingException, FileNotFoundException {
    String strImg = getImageStr("Z:\\水印\\2.bmp");
    System.out.println(strImg);
    File file = new File("z://1.txt");
    FileOutputStream fos = new FileOutputStream(file);
    OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
    try {
      osw.write(strImg);
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    //generateImage(strImg, "Z:\\水印\\444.bmp");

  }

加密:

**
   * @Description: 根据图片地址转换为base64编码字符串
   * @Author:
   * @CreateTime:
   * @return
   */
  public static String getImageStr(String imgFile) {
    InputStream inputStream = null;
    byte[] data = null;
    try {
      inputStream = new FileInputStream(imgFile);
      data = new byte[inputStream.available()];
      inputStream.read(data);
      inputStream.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
    // 加密
    Encoder encoder = Base64.getEncoder();
    return encoder.encodeToString(data);
  }

解密:

/**
   * @Description: 将base64编码字符串转换为图片
   * @Author:
   * @CreateTime:
   * @param imgStr base64编码字符串
   * @param path 图片路径-具体到文件
   * @return
  */
  public static boolean generateImage(String imgStr, String path) {
      if (imgStr == null)
        return false;
      // 解密
      try {
        Decoder decoder = Base64.getDecoder();
        byte[] b = decoder.decode(imgStr);
        // 处理数据
        for (int i = 0; i < b.length; ++i) {
          if (b[i] < 0) {
          b[i] += 256;
          }
        }
        OutputStream out = new FileOutputStream(path);
        out.write(b);
        out.flush();
        out.close();
        return true;
      } catch (IOException e) {
        return false;
      }
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java 后台将base64字符串保存为图片的方法

    本文介绍了java 后台将base64字符串保存为图片的方法,分享给大家,具体如下: 直接上代码: 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 Base64T

  • Java 8实现图片BASE64编解码

    前言 Basic编码是标准的BASE64编码,用于处理常规的需求:输出的内容不添加换行符,而且输出的内容由字母加数字组成. 最近做了个Web模版,其中想用Base64背景图.虽然网络上有现成的编码器,但总想自己实现一个.可能很多人不知道,JDK 8新提供的Base64类可以非常方便地处理此项任务:Base64 (Java Platform SE 8 ). 一.先选一张图片 mm.png 二.建立HTML演示文件模版 test.html <!DOCTYPE html> <html>

  • Java 处理图片与base64 编码的相互转换的示例

    今天项目优化了一下上传头像的功能.采用 imagecropper 插件完成裁剪图片的效果. 这个插件裁剪完的图片都是 base64 加密的字符串,上传头像也就涉及到了如何把加密的字符串转换成图片的问题. 以下是代码: /** * @Description: 将base64编码字符串转换为图片 * @Author: * @CreateTime: * @param imgStr base64编码字符串 * @param path 图片路径-具体到文件 * @return */ public stat

  • Java实现base64图片编码数据转换为本地图片的方法

    本文实例讲述了Java实现base64图片编码数据转换为本地图片的方法.分享给大家供大家参考,具体如下: 项目中用到的把base64图片数据转为本地图片的函数 /** * 替换html中的base64图片数据为实际图片 * @param html * @param fileRoot 本地路径 * @param serRoot 服务器路径 * @return */ public static String replaceBase64Image(String html,String fileRoot

  • Java实现图片与Base64编码互转

    淘宝里面的html用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.BA

  • java将图片转为base64返回给前端

    本文实例为大家分享了java将图片转为base64返回给前端的具体代码,供大家参考,具体内容如下 一.controller端代码 @RequestMapping(value = "/captcha") public void imagecode(HttpServletRequest request, HttpServletResponse response) throws Exception { JSONObject object = new JSONObject(); Captcha

  • 实例详解Java实现图片与base64字符串之间的转换

    废话不多说了,直接给大家贴java实现图片与base84字符串之间的转换代码了,具体代码如下所示: package cn.com; import <a href="http://lib.csdn.net/base/javase" class='replace_word' title="Java SE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>.io

  • java实现图片转base64字符串 java实现base64字符串转图片

    java 图片转base64字符串.base64字符串转图片,具体内容如下 1. 图片转base64字符串: /** * base64编码字符串转换为图片 * @param imgStr base64编码字符串 * @param path 图片路径 * @return */ public static boolean base64StrToImage(String imgStr, String path) { if (imgStr == null) return false; BASE64Dec

  • Java处理图片实现base64编码转换

    前言 环境:使用这个代码前:请确保你的JDk是JAVA8及其以上 开发测试地址:http://imgbase64.duoshitong.com/ 可以查看是否执行成功 注意事项 一般插件返回的base64编码的字符串都是有一个前缀的."data:image/jpeg;base64," 解码之前这个得去掉. Code MainTest /** * 示例 * @throws UnsupportedEncodingException * @throws FileNotFoundExcepti

  • java自定义实现base64编码转换

    1.base64编码转换 所谓base64编码,即按照规则把字符转化为"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"这个字符集中的字符.具体规则如下: a.把每3个字节为一组,共24bit.每6bit一小组,每组前面加00,变为32bit.这样3个字节被扩展成了4个节,按照上面字符集编码. b.如果字节数不足3: 1)当字节数为2时,共16bit.每6bit一小组,最后一组即只有4bit,则不止前面加

  • Base64 编码介绍、Base64编码转换原理与算法

    Base64编码,是我们程序开发中经常使用到的编码方法.它是一种基于用64个可打印字符来表示二进制数据的表示方法.它通常用作存储.传输一些二进制数据编码方法!也是MIME(多用途互联网邮件扩展,主要用作电子邮件标准)中一种可打印字符表示二进制数据的常见编码方法!它其实只是定义用可打印字符传输内容一种方法,并不会产生新的字符集!有时候,我们学习转换的思路后,我们其实也可以结合自己的实际需要,构造一些自己接口定义编码方式.好了,我们一起看看,它的转换思路吧! Base64实现转换原理 它是用64个可

  • C#实现字符串与图片的Base64编码转换操作示例

    本文实例讲述了C#实现字符串与图片的Base64编码转换操作.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using System.Drawing

  • JavaScript实现Base64编码转换

    简介 Base64是一种基于64个可打印字符来表示二进制数据的表示方法.由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符.三个字节有24个比特,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示.它可用来作为电子邮件的传输编码.在Base64中的可打印字符包括字母A-Z.a-z.数字0-9,这样共有62个字符,此外的两个可打印符号在不同的系统中而不同,一般为+和/. 转换原理 Base64的直接数据源是二进制序列(Binary Sequence).当然,你也可以

  • java实现文件编码转换的方法

    在开发过程中,可能会遇到文件编码的转换,虽然说开发工具eclipse可以转换编码,但是有的情况却很不方便.比如,原来文件本身的编码是GBK,现在要转换成UTF-8,如果直接在eclipse中把文件编码修改成UTF-8,恭喜你,是乱码,因为不能直接从GBK到UTF-8进行转换,这时就需要我们手动的来转换编码.下面是一个文件编码转换的工具类. package com.mikan.stuff; import java.io.File; import java.io.FileInputStream; i

  • Java 和 JavaScript 真正通用的Base64编码详解

     Java 和 JavaScript Base64编码 在开发Java  Web应用的时候,可能会在服务器端用Java做Base64编码,而在客户端用JavaScript进行解码.这样就要求两边的Base64编码机制保持一致. 使用Base64编码,可能会碰到各种奇怪情况,甚至怀疑编码有bug.但实际上不是这样的.Base64理论上操作的对象不是字符串而是字节数组.它的原理就是把ASCII码的255个字符缩小到用64个来表示.具体就是原来三个字节用四个字节表示,编码后长度有一定的增长. 1) 最

  • js 显示base64编码的二进制流网页图片

    Data URI scheme. Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入.比如上面那串字符,其实是一张小图片,将这些字符复制黏贴到火狐的地址栏中并转到,就能看到它了,一张2*2的白色gif图片. 在上面的Data URI中,data表示取得数据的协定名称,image/gif是数据类型名称,base64 是数据的编码方法,逗号后面就是这个image/gif文件base64编码后的数据. 目前,Data URI sc

  • js对图片base64编码字符串进行解码并输出图像示例

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu

随机推荐