栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java-图片文件与Base64格式之间的互相转换

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java-图片文件与Base64格式之间的互相转换

一、//转换base64格式的字节数据集成为图片,存到服务器指定路径
    public void Transformbase64DataToPhoto(String UploadPath,String DataName,String base64Photo){
        base64.Decoder  base64Decoder = base64.getDecoder();    //base64解码器
        byte [] ImgContainer = null;    //图片二进制流接收器
        FileOutputStream fileOutputStream = null;  //文件输出流
        String RealbaseData = base64Photo.split(",")[1];   //去除掉字节信息,获取字节数据集
        //如果数据流为空,则返回提示
        if(base64Photo.equals("")){
             System.out.println("图像数据流为空!");
        }else{
            //解码
            String NoWrapData = RealbaseData.replaceAll("n","");  //去除掉换行符
            String NoSpaceData = NoWrapData.trim();   //去掉空格
            ImgContainer = base64Decoder.decode(NoSpaceData); //解码为字节数组
            //字节流转文件
            try {
                fileOutputStream = new FileOutputStream(UploadPath+DataName+".jpg");   //文件输出的保存路径及名称
                fileOutputStream.write(ImgContainer);      //将base64字节流写进指定文件路径

            }catch (Exception e){
                e.printStackTrace();
            } finally {
                if(fileOutputStream != null){
                    try{
                        fileOutputStream.close();  //关闭文件输出流
                    }catch (Exception e){
                        e.printStackTrace();
                    }
                }
            }
        }
    }

   
二、 //将图片转换成base64格式的数据集
    public String TransformPhotoTobase64Data(String LoadPath,String DataName){
        base64.Encoder encoder= base64.getEncoder();  //获取base64编码器
        byte [] ImgContainer = null ;    //数据集缓存器
        FileInputStream fileInputStream = null; //文件输入流
        try {
            System.out.println(LoadPath+DataName);
            fileInputStream = new FileInputStream(LoadPath+DataName);    //到指定路径寻找文件
            ImgContainer = new byte[fileInputStream.available()];          //设置图片字节数据缓冲区大小
             fileInputStream.read(ImgContainer);           //将数据流中的图片数据读进缓冲区
             String base64ImgData =encoder.encodeToString(ImgContainer);  //将图片编码转换成base64格式的数据集
             fileInputStream.close();      //关闭数据流
            return base64ImgData;  //将缓冲区数据转换成字符数据返回
        } catch (FileNotFoundException e) {
           return "找不到指定文件!";
        } catch (IOException e) {
            e.printStackTrace();
        }
           return "null";
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/657908.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号