牛骨文教育服务平台(让学习变的简单)
博文笔记

java实现base64字符串转换成图片保存

创建时间:2016-12-16 投稿人: 浏览次数:24101
现在不管是博客论坛还是企业办公,都离不开资源的共享。通过文件上传的方式,与大家同分享,从而达到大众间广泛的沟通和交流,我们既可以从中获得更多的知识和经验,也能通过他人的反馈达到自我改进和提升的目的。   
下面介绍文件如何从本地发送到服务器的
 


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 Base64Test 
{
    public static void main(String[] args)
    {
        String strImg = GetImageStr();
        System.out.println(strImg);
        GenerateImage(strImg);
    }
    //图片转化成base64字符串
    public static String GetImageStr()
    {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理
        String imgFile = "D:\360CloudUI\tupian\jt.jpg";//待处理的图片
        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 imgStr)
    {   //对字节数组字符串进行Base64解码并生成图片
        if (imgStr == null) //图像数据为空
            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;
                }
            }
            //生成jpeg图片
            String imgFilePath = "D:\360CloudUI\tupian\new.jpg";//新生成的图片
            OutputStream out = new FileOutputStream(imgFilePath);    
            out.write(b);
            out.flush();
            out.close();
            return true;
        } 
        catch (Exception e) 
        {
            return false;
        }
    }
}



 
package zPicture;

public class Picture {
	public static final String DATA_IMAGE_PATH = PathUtil.getProjectPath(Picture.class, "zMP3").replace("zMP3","TEST/images/");
	
	public static boolean  test() {
		System.out.println(DATA_IMAGE_PATH);
		
		String imageName = null;
		try {
			imageName = CustomStringUtil.getExtension();
//		String imageName="";
			//图片存储路径
			String imagePath = DATA_IMAGE_PATH + imageName + ".jpg" ;
		    String imageBase64="/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAA8AFoDASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/ivw
v/aK/wCC3Hh74W/Grxt8J/gh+zV4h/aD0n4XeJr7wX8R/iKnxT8L/Djw8vjHRZmtvFPhf4cWuqaD
4jn8eal4TvUm0XXbvUJvC2gQ+I7W/wBGs9aumtproe9f8FZf2yfiP+yl8GPAXhX4JGw074xftC+L
tZ+HvhHxrq9l/aGmfDPQdG8Ia34l8afEWPS3ZbfW/EWi2FpZaf4Q0S9cadP4j1Sx1LVY7nR9N1LT
5f5aPDHh6y8J6Dp+gWE15dQ2Mchm1DU7l7zVtW1C6uZ73VNb1m+lPm3+sa3qNxc6rq99KTLd6ldX
Vy53Oc/i/id4jYrhqth8nyKrCOZ+5iMbWqYeFaFDDzUnRoxjVUoSqV0ueb5W6dPktJTk2f6H/Qz+
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
";
			String imageType="jpg";
			//将字符串转化成图片
			boolean isSuccess = CustomStringUtil.base64StringToImage(imageBase64, imagePath,imageType);
			System.out.println(isSuccess);
			return isSuccess;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return  false;
	}
	public static void main(String[] args) {
		test();
	}

}


1.测试类

package zPicture;

public class PathUtil {
 /**
  * 获取工程路径
  * @param T
  * @param projectName
  * @return
  */
 public static String getProjectPath(Class<?> T,String projectName){
  String path = T.getResource("/").toString();
     System.out.println(path);
  path = path.substring(0,path.indexOf(projectName))+projectName;
     System.out.println(projectName);
     System.out.println(path);
     System.out.println(path.charAt(1));
     System.out.println(path.indexOf(":"));//4
  path = path.substring(path.indexOf(":")+1,path.length());
     System.out.println(path);// /D:/workspace2/zMP3
  
//  file:/D:/workspace2/zMP3/build/classes/
//  zMP3
//  file:/D:/workspace2/zMP3
//  path+="/WEB-INF/classes/setting.properties";
  path = path.replaceAll("%20", " ");
  System.out.println(path);
  return path;
 }

}

2.工具类

3.工具类(2)

package zPicture;

import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Calendar;

import javax.imageio.ImageIO;

import org.apache.commons.lang3.StringUtils;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class CustomStringUtil {
 /**
  * 输出异常
  *
  * @param e
  * @return
  */
 public static String getErrorInfoFromException(Exception e) {
  try {
   StringWriter sw = new StringWriter();
   PrintWriter pw = new PrintWriter(sw);
   e.printStackTrace(pw);
   return " " + sw.toString() + " ";
  } catch (Exception e2) {
   return "bad getErrorInfoFromException";
  }
 }

 /**
  * 图片转字符串
  * @return
  */
 public static String getImageBinary(String imagePath,String imageType) {
  BASE64Encoder encoder = new sun.misc.BASE64Encoder();
  File f = new File(imagePath);
  BufferedImage bi;
  try {
   bi = ImageIO.read(f);
   ByteArrayOutputStream baos = new ByteArrayOutputStream();
   ImageIO.write(bi, imageType, baos);
   byte[] bytes = baos.toByteArray();

   return encoder.encodeBuffer(bytes).trim();
  } catch (IOException e) {
   e.printStackTrace();
  }
  return null;
 }
 
 /**
  * 字符串转图片
  * @param base64String
  */
 public static boolean base64StringToImage(String base64String,String toImagePath,String imageType) {
  try {
   BASE64Decoder decoder = new sun.misc.BASE64Decoder();
   byte[] bytes1 = decoder.decodeBuffer(base64String);

   ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);
   RenderedImage bi1 = ImageIO.read(bais);
   File w2 = new File(toImagePath);// 可以是jpg,png,gif格式
   if(!w2.exists()){
    w2.createNewFile();
    System.out.println("no exist=====");
   }
   System.out.println("pass...........");
   return ImageIO.write(bi1, imageType, w2);// 不管输出什么格式图片,此处不需改动
  } catch (IOException e) {
   e.printStackTrace();
   return false;
  }
 }
 
 /**
  * 获取时间随机数
  * @return
  * @throws Exception
  */
 public static String getExtension()throws Exception{
  try {
   //线程睡会
   Thread.sleep(1);
   //生成日期实体
   Calendar calendar = Calendar.getInstance();
   String extension = calendar.getTime().getTime()+"";
   return extension;//专网及EZVP公网
  } catch (InterruptedException e) {
   e.printStackTrace();
   return null;
  }
 }
 
 /**
  * 将数组转换为字符串
  * @param array 数组对象
  * @param separator 分割字符
  * @return
  * @throws Exception
  */
 public static String getArrayToString(Object[] array, String separator)throws Exception{
  String resultStr = StringUtils.join(array, separator);
  return resultStr;
 }
 }
}

 

 

 

附加一篇转载帮助大家更好的理解:下面可实现图片与字符串互转

package zPicture;
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 Base64Test
{
    public static void main(String[] args)
    {
        String strImg = GetImageStr();
        System.out.println(strImg);
        GenerateImage(strImg);
    }
    //图片转化成base64字符串
    public static String GetImageStr()
    {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理
        String imgFile = "D:\360CloudUI\tupian\jt.jpg";//待处理的图片
        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 imgStr)
    {   //对字节数组字符串进行Base64解码并生成图片
        if (imgStr == null) //图像数据为空
            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;
                }
            }
            //生成jpeg图片
            String imgFilePath = "D:\360CloudUI\tupian\new.jpg";//新生成的图片
            OutputStream out = new FileOutputStream(imgFilePath);   
            out.write(b);
            out.flush();
            out.close();
            return true;
        }
        catch (Exception e)
        {
            return false;
        }
    }
}

 附加一篇转载文件帮助大家理解图片转成字符串,下面介绍的是图片base64编码与解码代码


package zPicture;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 Base64Test {    public
 static void main(String[] args)    {        String strImg = GetImageStr();        System.out.println(strImg);        GenerateImage(strImg);    }    //图片转化成base64字符串    public static String GetImageStr()    {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理        String imgFile
 = "D:\360CloudUI\tupian\jt.jpg";//待处理的图片        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 imgStr)    {   //对字节数组字符串进行Base64解码并生成图片        if (imgStr == null) //图像数据为空            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;                }            }            //生成jpeg图片            String imgFilePath
 = "D:\360CloudUI\tupian\new.jsp";//新生成的图片            OutputStream out = new FileOutputStream(imgFilePath);                out.write(b);            out.flush();            out.close();            return true;        }         catch (Exception e)        
 {            return false;        }    }}

            
                
				
			
		
        	
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。