博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
base64转码java版
阅读量:5971 次
发布时间:2019-06-19

本文共 2100 字,大约阅读时间需要 7 分钟。

package com.net.util;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import javax.servlet.http.HttpServletRequest;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;/** * 图片base64转码工具类 * @author zhangdi * */public class ImageBase64Util {        /**     * 图片转化成base64字符串     * @param imgPath 图片路径     * @return     */    public static String GetImageStr(String imgPath) {        // 将图片文件转化为字节数组字符串,并对其进行Base64编码处理        String imgFile = imgPath;        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();        // 返回Base64编码过的字节数组字符串        return encoder.encode(data);    }    /**     *  base64字符串转化成图片     * @param imgStr  base64字符串     * @param imgPath 图片路径     * @return     */    public static boolean GenerateImage(String imgStr,String imgPath,HttpServletRequest request) {        //获得物理路径webapp所在路径          String pathRoot = request.getSession().getServletContext().getRealPath("");        // 对字节数组字符串进行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; } } // 生成新的图片 String imgFilePath =pathRoot+imgPath; OutputStream out = new FileOutputStream(imgFilePath); out.write(b); out.flush(); out.close(); return true; } catch (Exception e) { return false; } }}

 

posted on
2017-04-22 19:38 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/zhangdiIT/p/6748896.html

你可能感兴趣的文章
Java中如何防止内存泄漏的发生
查看>>
Java中Int转byte分析
查看>>
滑动窗口最大值的golang实现
查看>>
初学Phreeze 3
查看>>
会计的思考(17):还原会计报表的企业个性之一
查看>>
java对象初始化顺序的简单验证
查看>>
[CF452E]Three strings
查看>>
获取指定进程所对应的可执行(EXE)文件全路径(代码)
查看>>
ORA-01722:无效数字
查看>>
搭建golang+vscode开发环境
查看>>
C#占位符
查看>>
java面试-JVM调优和参数配置
查看>>
常用的激活函数
查看>>
sqlcmd
查看>>
Excel 已经检测到"XXX.xsl"是SYLK文件,但是不能将其加载的问题
查看>>
(基础篇)PHP获取时间、时间戳的各种格式写法汇总
查看>>
浅析面向对象开发
查看>>
Hystrix降级逻辑中如何获取触发的异常
查看>>
【跃迁之路】【535天】程序员高效学习方法论探索系列(实验阶段292-2018.07.25)...
查看>>
mac系统下git、mysql、nginx、php的环境搭建
查看>>