图片转base64,base64转图片(代码片段)

lvgeaibingyue lvgeaibingyue     2023-01-19     813

关键词:

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
 
import com.steward.utils.StringUtil;
 
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
 
@SuppressWarnings("restriction")
public class Base64Utils 
 
    public static void main(String[] args) throws Exception 
 
        //本地图片地址
        String url = "C:/Users/Administrator/Desktop/628947887489084892.jpg";
        //在线图片地址
        String string = "http://bpic.588ku.com//element_origin_min_pic/17/03/03/7bf4480888f35addcf2ce942701c728a.jpg";
        
        String str = Base64Utils.ImageToBase64ByLocal(url);
        
        String ste = Base64Utils.ImageToBase64ByOnline(string);
        
        System.out.println(str);
        
        Base64Utils.Base64ToImage(str,"C:/Users/Administrator/Desktop/test1.jpg");
        
        Base64Utils.Base64ToImage(ste, "C:/Users/Administrator/Desktop/test2.jpg");
    
 
    /**
     * 本地图片转换成base64字符串
     * @param imgFile    图片本地路径
     * @return
     *
     * @author ZHANGJL
     * @dateTime 2018-02-23 14:40:46
     */
    public static String ImageToBase64ByLocal(String imgFile) // 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
 
 
        InputStream in = null;
        byte[] data = null;
 
        // 读取图片字节数组
        try 
            in = new FileInputStream(imgFile);
            
            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编码过的字节数组字符串
    
 
    
    
    /**
     * 在线图片转换成base64字符串
     * 
     * @param imgURL    图片线上路径
     * @return
     *
     * @author ZHANGJL
     * @dateTime 2018-02-23 14:43:18
     */
    public static String ImageToBase64ByOnline(String imgURL) 
        ByteArrayOutputStream data = new ByteArrayOutputStream();
        try 
            // 创建URL
            URL url = new URL(imgURL);
            byte[] by = new byte[1024];
            // 创建链接
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            conn.setConnectTimeout(5000);
            InputStream is = conn.getInputStream();
            // 将内容读取内存中
            int len = -1;
            while ((len = is.read(by)) != -1) 
                data.write(by, 0, len);
            
            // 关闭流
            is.close();
         catch (IOException e) 
            e.printStackTrace();
        
        // 对字节数组Base64编码
        BASE64Encoder encoder = new BASE64Encoder();
        return encoder.encode(data.toByteArray());
    
    
    
    /**
     * base64字符串转换成图片
     * @param imgStr        base64字符串
     * @param imgFilePath    图片存放路径
     * @return
     *
     * @author ZHANGJL
     * @dateTime 2018-02-23 14:42:17
     */
    public static boolean Base64ToImage(String imgStr,String imgFilePath)  // 对字节数组字符串进行Base64解码并生成图片
 
        if (StringUtil.isEmpty(imgStr)) // 图像数据为空
            return false;
 
        BASE64Decoder decoder = new BASE64Decoder();
        try 
            // Base64解码
            byte[] b = decoder.decodeBuffer(imgStr);
            for (int i = 0; i < b.length; ++i) 
                if (b[i] < 0) // 调整异常数据
                    b[i] += 256;
                
            
 
            OutputStream out = new FileOutputStream(imgFilePath);
            out.write(b);
            out.flush();
            out.close();
 
            return true;
         catch (Exception e) 
            return false;
        
 
      

第二种

java实现将图片读取成base64字符串 ,将base64字符串存储为图片。
 
将图片转化为字符串以后,由于字符串更方便在网络上通过ajax传输、在网络web前台和后台间进行传输。
 
需要rt.jar包,在java的安装目录中jre8lib文件夹下存在这个包文件。
 
需要引入如下代码
import sun.misc.BASE64Decoder; 
import sun.misc.BASE64Encoder; 
图片转base64字符
public static String GetImageStr(String imgFile)  
    //将图片文件转化为字节数组字符串,并对其进行Base64编码处理  
        InputStream in = null;  
        byte[] data = null;  
        //读取图片字节数组  
        try   
          
            in = new FileInputStream(imgFile);          
            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编码过的字节数组字符串  
     

base64字符转图片

public static boolean GenerateImage(String base64str,String savepath)  
       //对字节数组字符串进行Base64解码并生成图片  
        if (base64str == null) //图像数据为空  
            return false;  
       // System.out.println("开始解码");
        BASE64Decoder decoder = new BASE64Decoder();  
        try   
          
            //Base64解码  
            byte[] b = decoder.decodeBuffer(base64str);  
          //  System.out.println("解码完成");
            for(int i=0;i<b.length;++i)  
              
                if(b[i]<0)  
                //调整异常数据  
                    b[i]+=256;  
                  
            
           // System.out.println("开始生成图片");
            //生成jpeg图片  
            OutputStream out = new FileOutputStream(savepath);      
            out.write(b);  
            out.flush();  
            out.close();  
            return true;  
           
        catch (Exception e)   
          
            return false;  
          
    

 

img2base64util,图片转base64码(代码片段)

importorg.apache.commons.codec.binary.Base64;importjava.io.*;publicclassImg2Base64Util/***将图片转换成Base64编码*@paramimgFile待处理图片*@return*/publicstaticStringgetImgStr(StringimgFile)//将图片文件转化为字节数组字符串,并对其进行 查看详情

python图片转base64格式数据编码(代码片段)

Python图片转base64格式数据编码importbase64withopen(file,"rb")asf:img=f.read()data=base64.b64encode(img).decode()ext=file.split(".")[-1]base64_data="data:image/ext;base64,data".format(ext=ext,data=data)f.close() 查看详情

本地图片与网络图片转base64(代码片段)

packagecom.test.utils;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.InputStream;importjava.net.HttpURLConnection;importjava.net.URL;importorg.apach 查看详情

java把图片转成的base64的字符串类型(代码片段)

查看详情

base64转换成图片(代码片段)

前端代码JS:前端图片为canvsa绘图转base64格式functionputTextInfo()varcanvasImg=painting.canvas.toDataURL(‘image/png‘,0.8).substring(22);//canvas图片.草图varcName=$("#username").val();//客户姓名varprovinceid=$("#provice").va 查看详情

图片转Base64

】图片转Base64【英文标题】:ImageconverttoBase64【发布时间】:2013-07-1614:49:18【问题描述】:<inputtype="file"id="asd"/>一旦用户选择(在提交表单之前),我想在base64中获取图像类似:$(input).on(\'change\',function()vardata=$(this).val().base64... 查看详情

vue-cli3.0配置图片转base64的规则(代码片段)

vue-cli3.0发现打包的时候,一些小于10k的图片没有转base64,需要自己新建一个vue.config.js的文件(在根目录),然后进行如下配置,就可以控制图片转义规则module.exports=chainWebpack:config=>config.module.rule(‘images‘).use(‘url-loader‘).loa... 查看详情

base64转图片上传

不成功,但是有一定的借鉴性/** *@parambase64Codes *      图片的base64编码 */functionsumitImageFile(base64Codes){//debuggerconsole.log(convertBase64UrlToBlob(base64Codes));&nb 查看详情

asp动态加载节日弹窗,base64转文件流显示图片(代码片段)

<%\'动态加载节日弹窗dimrsimage,image,displayDatesetrsimage=server.CreateObject("ADODB.recordset")image=""ssql1="selectimage,usingdatefromOA_IMAGEwhereusingdate>=\'"&CurrDate&"\'and(delete_flag&l 查看详情

canvas将图片转成base64格式以及验证图片是否透明(代码片段)

...mg=newImage();img.src=e.target.result;self.isAlphaBackground=false;//缩放图片需要的canvasvarcanvas=document.createElement(‘canvas‘);varcontext=canvas.getContext(‘2d‘);//base64地址图片加载完毕后img.onload=function()//图片原始尺寸varoriginWidth=this.width;varoriginHeight=... 查看详情

图片转base64

  <inputid="file"type="file">  <br>  <textareaid="imgbase"name=""id=""cols="100"rows="10"></textarea>js代码:   varfile=document.getElementById(‘file‘)  file.onchange=function(){  查看详情

golang把base64转图片,转语音

funcSavePic(photostring)stringlog.Println("----接收图片----------")i:=strings.Index(photo,",")dec:=base64.NewDecoder(base64.StdEncoding,strings.NewReader(photo[i+1:]))picName:=tools.RandomStr(20)+".jpg"f, 查看详情

node中https请求|实现https的请求,获取图片,然后转成base64字节码(代码片段)

get请求 下面实现https的请求,获取图片,然后转成base64字节码this.checkCodeUrl=‘https://www.test.com/kaptcha.jsp‘;varhttps=require(‘https‘);https.get(this.checkCodeUrl,function(res)vardatas=[];varsize=0;res.on(‘data‘,f 查看详情

reactnative把图片转成base64

参考技术A这里用到的是react-native-fs这个组件把本地图片转成base64关于组件的使用请参考https://github.com/itinance/react-native-fs下面就说下如何利用这个组件转成base64:如果网页上查看请书写正确的格式这个是jpeg的图片格式如下:data:ima... 查看详情

java上传不同类型图片,保存数据库(base64位图转网络图片)

直接上代码好不好方法名:GenerateImage传参:base64Img:上传的base64码realPath:生成的图片路径 imgTypes:图片类型 StringimgBase64=request.getParameter("userImgbase64");//获取当前服务器路径 StringrealPath=request.getServletContext().ge 查看详情

前端攻略:玩转图片base64编码

   引言  图片处理在前端工作中可谓占据了很重要的一壁江山。而图片的base64编码可能相对一些人而言比较陌生,本文不是从纯技术的角度去讨论图片的base64编码。标题略大,不过只是希望通过一些浅显的论述,让... 查看详情

uni-app中图片转base64以及base64转图片方式,超简单,超好用的图片转换工具,你值得拥有它。

一款非常好用的插件,它就是image-tools简介使用方式npmiimage-tools--save页面引入js即可使用importpathToBase64,base64ToPathfromimage-tools直接下载importpathToBase64,base64ToPathfrom../../js/image-tools/index.jsAPI页面调用方式pathToBase64(path).then(base64=>console... 查看详情

图片转base64并压缩大小(代码片段)

<inputid="file"type="file"capture="microphone"accept="image/*">1$("#file").change(function()2varm_this=this;3   cutImageBase64(m_this,null,400,0.8);  4)5functioncutImageBase64(m_this,id,wid,quality)67  varfile=m_this.files[0];8  varURL=window.URL||w... 查看详情