java上传Base64编码格式的图片

2023-11-20

 工具类

public class ImageBase64Converter {
    /**
     * 本地文件(图片、excel等)转换成Base64字符串
     *
     * @param imgPath
     */
    public static String convertFileToBase64(String imgPath) {
        byte[] data = null;
        // 读取图片字节数组
        try {
            InputStream in = new FileInputStream(imgPath);
            System.out.println("文件大小(字节)=" + in.available());
            data = new byte[in.available()];
            in.read(data);
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        // 对字节数组进行Base64编码,得到Base64编码的字符串
        BASE64Encoder encoder = new BASE64Encoder();
        String base64Str = encoder.encode(data);
        return base64Str;
    }

    /**
     * 将base64字符串,生成文件
     */
    public static File convertBase64ToFile(String fileBase64String, String filePath, String fileName) {

        BufferedOutputStream bos = null;
        FileOutputStream fos = null;
        File file = null;
        try {
            File dir = new File(filePath);
            if (!dir.exists() && dir.isDirectory()) {//判断文件目录是否存在
                dir.mkdirs();
            }

            BASE64Decoder decoder = new BASE64Decoder();
            byte[] bfile = decoder.decodeBuffer(fileBase64String);

            file = new File(filePath + File.separator + fileName);
            fos = new FileOutputStream(file);
            bos = new BufferedOutputStream(fos);
            bos.write(bfile);
            return file;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            if (bos != null) {
                try {
                    bos.close();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
            if (fos != null) {
                try {
                    fos.close();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
        }
    }
}

测试类

    public static void main(String[] args) throws Exception {
        long start = System.currentTimeMillis();
        String imgBase64Str = ImageBase64Converter.convertFileToBase64("D:\\googleDownlde\\1433.jpg");
//        System.out.println("本地图片转换Base64:" + imgBase64Str);
        System.out.println("Base64字符串length=" + imgBase64Str.length());
        ImageBase64Converter.convertBase64ToFile(imgBase64Str, "D:\\googleDownlde", "222222222222222222.jpg");
        System.out.println("duration:" + (System.currentTimeMillis() - start));

//        start=System.currentTimeMillis();
//        String fileBase64Str= ImageBase64Converter.convertFileToBase64("D:\\googleDownlde\\222222222222222222.xlsx");
//        System.out.println("本地excel转换Base64:" + fileBase64Str);
//        System.out.println("size="+fileBase64Str.length());
//        ImageBase64Converter.convertBase64ToFile(fileBase64Str,"D:\\googleDownlde","222222222222222222.xlsx");
        System.out.println("duration:" + (System.currentTimeMillis() - start));
    }

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java上传Base64编码格式的图片 的相关文章

随机推荐

  • C#、js如何实现文件上传功能

    上传文件 今天我来讲讲在MVC中如何进行文件的上传 我们逐步深入 一起来看看 我们在默认创建的项目中的控制器下添加如下 第一步创建一个接受文件的实体 创建好后判断一下接受文件的是什么文件类型如txt 然后就是文件名称建好后检查目录文件是否存
  • CVPR2017-如何在无标签数据集上训练模型

    论文 Fine tuning Convolutional Neural Networks for Biomedical Image Analysis Actively and Incrementally 论文链接 http openacce
  • 深入解析Spring Boot中最常用注解的使用方式(下篇)

    摘要 本文是 深入解析Spring Boot中最常用注解的使用方式 的下篇内容 将继续介绍Spring Boot中其他常用的注解的使用方式 并通过代码示例进行说明 帮助读者更好地理解和运用Spring Boot框架 目录 第二部分 常见的容
  • 全国职业技能大赛云计算--高职组赛题卷④(容器云)

    全国职业技能大赛云计算 高职组赛题卷 容器云 第二场次题目 容器云平台部署与运维 任务1 Docker CE及私有仓库安装任务 5分 任务2 基于容器的web应用系统部署任务 15分 任务3 基于容器的持续集成部署任务 15分 任务4 Ku
  • 哈希表的设计

    概念 顺序结构以及平衡树 中 元素关键码与其存储位置之间没有对应的关系 因此在 查找一个元素时 必须要经过关键 码的多次比较 顺序查找时间复杂度为 O N 平衡树中为树的高度 即 O 搜索的效率取决于搜索过程中 元素的比较次数 理想的搜索方
  • 主页自定义可拖动组件 2.0版本 (portlet)

    首先 我是从下面这个页面抠出来的 http wrapbootstrap com preview WB00958H8 效果 在这个页面直接右键查看源代码 就可以看到了 非常清楚 因为我就只用这么一个portlet功能 我就给抠下来了 原来的代
  • webservice ajax课程,net webservice ajax访问

    function getdata click function ajax type Post url http localhost 65497 WebSite1 WebService asmx GetAge id 3344 data id
  • onload和ready的区别

    三个方面 window onload document ready 执行时机 必须等待网页全部加载完毕 包括图片等 然后再执行包裹代码 只需要等待网页中DOM结构加载完毕 就能执行包裹的代码 执行次数 只能执行一次 如果第二次 那么第一次的
  • 性能优化——设计更优的分布式锁?

    那什么是分布式锁呢 它又是用来解决哪些问题的呢 在 JVM 中 在多线程并发的情况下 我们可以使用同步锁或 Lock 锁 保证在同一时间内 只能有一个线程修改共享变量或执行代码块 但现在我们的服务基本都是基于分布式集群来实现部署的 对于一些
  • 主力吸筹猛攻指标源码_通达信指标——一目了然,简单易懂的变色成交量副图指标...

    大家好 这期给大家分享的变色成交量副图指标看量柱颜色变化 一目了然 换手率 VOL CAPITAL 100 主力吸筹 换手率 gt 3 AND 换手率 lt 5 COLORFF00FF 加快吸筹 换手率 gt 5 AND 换手率 lt 7
  • 智能指针之与shared_ptr有关的enable_shared_from_this类模板04

    一 enable shared from this模板类详解 什么时候该使用enable shared from this模板类 当我们需要一个类对象返回本身并且该类使用了shared ptr智能指针时 就需要使用enable shared
  • Ubuntu20中,rosdep init失败,无法rosdep update问题的解决。百分百有效。

    一 进入到 sources list d 文件夹 修改 gedit 20 default list cd etc ros rosdep sources list d sudo gedit 20 default list 将里面所有的 raw
  • gdb attach 进程调试

    gdb调试正在运行的进程 GDB可以对正在执行的程序进行调度 它允许开发人员中断程序 并查看其状态 之后还能让这个程序正常地继续执行 gdb attach xxxxx xxxxx为利用ps命令获得的子进程process
  • interview

    收割机博客 https blog csdn net DERRANTCM article details 73456550 查找算法 https blog csdn net derrantcm article details 51534498
  • sqlite升级

    最近开发中遇到了需要改变项目数据库的表中字段 添加新表等需求 而又需要保证原有数据不变 这就涉及到数据库升级 现在就来总结记录一下 包含原表中增加字段 删除字段 修改字段 添加新表等四种升级操作 SQLiteOpenHelper类中有两个方
  • 华为校招机试题-猜字谜-2023年

    题目描述 小王设计了一个简单的猜字谜游戏 游戏的谜面是一个错误的单词 比如nesw 玩家需要猜出谜底库中正确的单词 猜中的要求如下 对于某个谜面和谜底单词 满足下面任一条件都表示猜中 1 变换顺序以后一样的 比如通过变换w和e的顺序 nwe
  • App隐私监管新规实施 隐私合规检测要注意这几点?

    5月1日 国家四部委联合制定的 常见类型移动互联网应用程序必要个人信息范围规定 简称 规定 将正式实施 规定 明确移动互联网应用程序 App 运营者不得因用户不同意收集非必要个人信息 而拒绝用户使用App基本功能服务 要求各地各相关单位督促
  • Linux创建文件的5种方式

    Linux创建文件的5种方式 1 touch 1 1 创建一个文件 touch yyTest ini 1 2 同时创建两个文件 touch test1 txt test2 txt 1 3 批量创建文件 如创建2000个文件 touch te
  • 自定义modal转场动画,滑动手势控制 dismiss 过程

    效果 假设有 1 两个视图控制器 presentingVC presentedVC 2 一个继承于UIPercentDrivenInteractiveTransition 并遵守协议UIViewControllerAnimatedTrans
  • java上传Base64编码格式的图片

    工具类 public class ImageBase64Converter 本地文件 图片 excel等 转换成Base64字符串 param imgPath public static String convertFileToBase64