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;

/**
 * 图片与base64字符串之间的转换
 * @author yfli
 *
 */
public class Base64Decoder {
	/**
	 * 图片转化成base64字符串  
	 * @param imgFilePath
	 * @return
	 */
	public static String GetImageStr(String imgFilePath) {
		byte[] data = null;
		try {
			InputStream in = new FileInputStream(imgFilePath);
			data = new byte[in.available()];
			in.read(data);
			in.close();
		} catch (IOException e) {
			e.printStackTrace();
		}

		BASE64Encoder encoder = new BASE64Encoder();
		return encoder.encode(data);
	}

	/**
	 * base64字符串转化成图片  
	 * @param imgStr
	 * @param imgFilePath
	 * @return
	 */
	public static boolean GenerateImage(String imgStr, String imgFilePath) {
		if (imgStr == null) {
			return false;
		}
		BASE64Decoder decoder = new BASE64Decoder();
		try {
			byte[] bytes = decoder.decodeBuffer(imgStr);
			for (int i = 0; i < bytes.length; i++) {
				if (bytes[i] < 0) {
					int tmp40_38 = i;
					byte[] tmp40_37 = bytes;
					tmp40_37[tmp40_38] = (byte) (tmp40_37[tmp40_38] + 256);
				}
			}

			OutputStream out = new FileOutputStream(imgFilePath);
			out.write(bytes);
			out.flush();
			out.close();
			return true;
		} catch (Exception e) {
		}
		return false;
	}

	public static void main(String[] args) {
		String file = "e:/qiao.png";
		System.out.println(GetImageStr(file));
		
		String str = "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";
		GenerateImage(str, "e:/test2.png");
	}
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值