广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java实现后台处理base64图片还原为文件
  • 327
分享到

java实现后台处理base64图片还原为文件

2024-04-02 19:04:59 327人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录后台处理base64图片还原为文件java Base64解析关于Base64的解析方式如下使用如下代码解析后台处理base64图片还原为文件 private static St

后台处理base64图片还原为文件


private static String  generateImage(String imgStr){
    if(Strings.isNullOrEmpty(imgStr)){
        return null;
    }
    BASE64Decoder decoder = new BASE64Decoder();
    //转换前端数据
    imgStr = imgStr.replaceAll(" ", "+");
    //去除多余部分
    imgStr=imgStr.replace("data:image/png;base64,", "");
    try {
        // Base64解码
        byte[] b = decoder.decodeBuffer(imgStr);
        for (int i = 0; i < b.length; i++) {
            if (b[i] < 0) {// 调整异常数据
                b[i] += 256;
            }
        }
        String filepath =System.getProperty("java.io.tmpdir") +"测试"+System.currentTimeMillis()+".png";
        File file  = new File(filepath);
        if(file.exists()){
            file.delete();
        }
        FileOutputStream fos = new FileOutputStream(file);
        fos.write(b);
        fos.flush();
        fos.close();
        logger.info("路径"+filepath);
        return filepath;
    }catch(Exception e){
        return null;
    }
}
//imgStr=imgStr.replace(“data:image/png;base64,”, “”); 关键地方 根据图片类型 过滤对应的类型

java Base64解析

最近在业务场景中,需要对第三方传递进来的字符进行base64解密,根据第三方文档提供的解析工具,对数据进行了解析

关于Base64的解析方式如下

 String sign = "xxxxxxxxxxxxxxxxxxxxxxxx";
 sun.misc.BASE64Decoder decode = new sun.misc.BASE64Decoder();
 String JSON = new String(decode.decodeBuffer(sign));

使用sun.misc.BASE64Decoder对数据解析,放测试环境测试发现解析出来的字符串正确无误,

但是在上线之后,根据第三方传递的sign,解析出来之后发现字符串最后多了一个字符 “7”,查询逻辑 没有发现问题,最后猜测是sun.misc.BASE64Decoder出了问题,于是换了Base64的解析jira

使用如下代码解析

String sign = "xxxxxxxxxxxxxxxxxxxxxxxxx";
Base64 base64 = new Base64();
String json = new String (base64.decodeBase64(sign.getBytes()));

发现返回json中数据正常,问题解决。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: java实现后台处理base64图片还原为文件

本文链接: https://www.lsjlt.com/news/138551.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java实现后台处理base64图片还原为文件
    目录后台处理base64图片还原为文件java Base64解析关于Base64的解析方式如下使用如下代码解析后台处理base64图片还原为文件 private static St...
    99+
    2022-11-13
  • java怎么实现后台处理base64图片还原为文件
    本文小编为大家详细介绍“java怎么实现后台处理base64图片还原为文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“java怎么实现后台处理base64图片还原为文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作