zoukankan      html  css  js  c++  java
  • 图片路径转base64字节码

    package product;
     
    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;
     
    /** 
     * @author  E-mail: test_t@163.COM
     * @createTime 创建时间:2016/12/6 上午9:26:48 
     * @类说明  图片文件转化为字节数组字符
     * @copyright 
     */
     
    public class domeImage {
    	/**
    	 * @Descriptionmap 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
    	 * @author
    	 * @Date 
    	 * @param path 图片路径
    	 * @return
    	 */
    	public static String imageToBase64(String path) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
    	    byte[] data = null;
    	    // 读取图片字节数组
    	    try {
    	        InputStream in = new FileInputStream(path);
    	        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编码过的字节数组字符串
    	}
     
    	/**
    	 * @Descriptionmap 对字节数组字符串进行Base64解码并生成图片
    	 * @author 
    	 * @Date 2016-12-06
    	 * @param base64 图片Base64数据
    	 * @param path 图片路径
    	 * @return
    	 */
    	public static boolean base64ToImage(String base64, String path) {// 对字节数组字符串进行Base64解码并生成图片
    	    if (base64 == null){ // 图像数据为空
    	        return false;
    	    }
    	    BASE64Decoder decoder = new BASE64Decoder();
    	    try {
    	        // Base64解码
    	        byte[] bytes = decoder.decodeBuffer(base64);
    	        for (int i = 0; i < bytes.length; ++i) {
    	            if (bytes[i] < 0) {// 调整异常数据
    	                bytes[i] += 256;
    	            }
    	        }
    	        // 生成jpeg图片
    	        OutputStream out = new FileOutputStream(path);
    	        out.write(bytes);
    	        out.flush();
    	        out.close();
    	        return true;
    	    } catch (Exception e) {
    	        return false;
    	    }
    	}
     
     
    	//测试
    	public static void main(String[] str) throws Exception {
    		
    		String path = "D:\1.jpg";
    		String base64 = domeImage.imageToBase64(path);
    	
    		
    		domeImage.base64ToImage(base64, "D:\2.png");
    		
    		System.out.println(base64+"+++++++++++");
    		
    		
    		
    	}
     
     
     
    }
    

      

  • 相关阅读:
    Big Event in HDU
    ACM STEPS——Chapter Two——Section One
    黑马day15 文件上传&amp;apche的工具包
    阿里云部署Docker(8)----安装和使用redmine
    【React Native开发】React Native控件之ProgressBarAndroid进度条解说(12)
    python抓取新浪微博评论并分析
    使用Xcode-debug模式和release模式
    hdu 5417 Victor and Machine
    《Head First 设计模式》学习笔记——适配器模式 + 外观模式
    设计模式(二)
  • 原文地址:https://www.cnblogs.com/MagicAsa/p/9516054.html
Copyright © 2011-2022 走看看