base64解码 getDecoder()
分类:耳闻 浏览:28370
问题提出:
自己在做一个小网站充当练手,但是前端图片经过base64加密后传往后端在解码。但是一直都有问题,请大神赐教
public static String base64ToImg(String src) throws IOException { String uuid = UUID.randomUUID().toString(); StringBuilder NewPath = new StringBuilder(IMG_ROOT_PATH); newPath.append(separator). append(uuid). append(IMG_SUFFIX); if(src == null){ return null; } byte[] data = null; Base64.Decoder decoder = Base64.getDecoder(); try (OutputStream out = new FileOutputStream(newPath.toString())) { data = decoder.decode(src); out.write(data); return newPath.toString(); } catch (IOException e) { throw new IOException(); } }java.lang.IllegalArgumentException: Input byte array has wrong 4-byte ending unit以上是相关的异常信息。我试图将前端的base64码粘贴到记事本然后自己在试着解码,也是同样问题。
解决办法:
IllegalArgumentException:非法参数异常,
试下这个,应该可以。
给你讲述下过程:
去了stackoverflow,debug。最后发现data为null,,加油吧,我们需要学的还很多
下次遇到问题debug下,看是哪条代码出现问题了,通过回答你,我也学到了很多
关键点在这里: throw new IOException();
try (OutputStream out = new FileOutputStream(newPath.toString())) { out.write(data); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException("异常是这么抛出的"); //throw new RuntimeException(e); }public static String base64ToImg(String src) throws IOException { String uuid = UUID.randomUUID().toString(); StringBuilder newPath = new StringBuilder("xx"); newPath.append("xx"). append(uuid). append("xx"); if (src == null) { return null; } byte[] data = Base64.getDecoder().decode(src); try (OutputStream out = new FileOutputStream(newPath.toString())) { out.write(data); } catch (IOException e) { e.printStackTrace(); } return newPath.toString(); }补充另外一种常用关闭资源:
public static String base64ToImg(String src) throws IOException { String uuid = UUID.randomUUID().toString(); StringBuilder newPath = new StringBuilder("xx"); newPath.append("xx"). append(uuid). append("xx"); if (src == null) { return null; } byte[] data = null; OutputStream out = null; Base64.Decoder decoder = Base64.getDecoder(); try { out = new FileOutputStream(newPath.toString()); data = decoder.decode(src); out.write(data); } catch (IOException e) { e.printStackTrace(); } finally { if (out != null) { out.close(); } } return newPath.toString(); }
- 上一篇:epass 修改USBKEY名
- 下一篇:win10怎么更新 点击“显示”选项卡
相关推荐
- 奖金计算器 1、北单奖金的计算方法是所有所
- 励志的抖音文案大全 没有所谓的运气
- 装载机操作证在哪里考取 装载机证在哪考啊2
- 衣服设计空白模板psd 你可能会有这样的时刻
- 装载机打火断电是什么原因 点火开关故障
- 古诗蝉原文 书翰为五绝(“世南一人
- hdr贴图 但是汉化的并不完美
- 衬衣服装设计图 特别适合拍日常生活照
- 贵州省公务员行测题量 图形推理5题
- 旅舍 《旅舍》陆游
- 苹果笔记本操作系统 笔记本电脑,我想
- 压扁的棉花怎么再蓬松起来 晒完后用竹棍使劲敲打
- ]]]纪念外线高低天天变是什么歌?(周年纪念)歌词
- 时尚格子货源好吗 作者网购时间长
- 访中国银行山西省分行行长郑国雨 只要还清欠款
- 证件卡54 pp“网证”出现后
- 功同赏异 血缘关系相同的人
- 不土不木 智能搜索引擎
- spot spot退出登录步骤
- 木兰情歌词 1、李伟菘,19
- “大地に水を 星には願い”絶え間なく 捧げ続けたなら 【“伟大的星灵啊 给大地降水吧”不断的祈愿着】是什么歌?(翠の森の精霊詩)歌词
- 茶叶代理销售 (出口的不是我们直接发
- 衣服是哪里进货便宜吗 让服装更有销路
- 计算机选什么好考公务员 系统优化等工作
- 莱州产的装载机有哪些 鸿源车业有限公司
- 资格考试 结合工作实际
- 迪拜是什么意思 迪拜是什么意思词语翻译Duba
- 引航员 引航员制度是一种国际通行的制度
- 主播音效软件 可自行设置设置便捷键
- 黄英多高 1、基本档案☆姓名:黄英快乐女
- 排行推荐
-
- 1山石网科 韩愈山石荦确行径微,黄昏到寺蝙
- 2夜之魇攻略 很多玩家都还不知道卡拉赞夜之魇
- 3覆铝锌板 1、镀铝板,也称
- 4王柏林扮演者 解答:1、王柏林在《猎狐》,第
- 5阿不思邓布利多 阿不思邓布利多全名阿不思·珀西
- 6和声编写:Boomfisher@TNK是什么歌?(若)歌词
- 7就这么 握住你的手是什么歌?(握住你的手)歌词
- 8在三年前哥们也经常派对是什么歌?()歌词
- 9装载机三清三滤指什么 民致燃油燃烧不完全
- 10西安三安国际大厦为什么一直闲置 地理位置非常优越
- 11蜂蜜面膜经常做 调节神经的作用
- 12豪华游轮内舱是什么意思 或者ICIP之类的
- 13奖金计算器 1、北单奖金的计算方法是所有所
- 14流浪剑客出装 DOTA流浪剑客伟大的秩序之神
- 15励志的抖音文案大全 没有所谓的运气
- 最新推荐
- 最新TAG