public class ImageStringToPath {

//图片转化成base64字符串

public static String GetImageStr()   {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理

String imgFile = "E:\\IV.jpg";//待处理的图片

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();

return encoder.encode(data);//返回Base64编码过的字节数组字符串

}

//base64字符串转化成图片

public static String  baseTOImage(String imgStr,String realPath)  {   //对字节数组字符串进行Base64解码并生成图片

String root="d:/opt/share/photos";

if (imgStr == null) {//图像数据为空

return "上传的图片为空";

}

imgStr = imgStr.replace(" ", "+");

BASE64Decoder decoder = new BASE64Decoder();

try {   //Base64解码

byte[] b = decoder.decodeBuffer(imgStr);

for(int i=0;i

if(b[i]<0)  {//调整异常数据

b[i]+=256;

}

}

if (Integer.parseInt(String.valueOf(b.length / 1024)) > 10240) {

return "上传的图片过大,请您上传小于10M的图片";

}

InputStream in = new ByteArrayInputStream(b);

if(!FileType.markImageByIcon(in, root+"/"+realPath)){

return "上传文件格式错误";

}

return "ok";

}catch (Exception e) {

return "图片转化异常";

}

}

public static void main(String[] args) {

String strImg = GetImageStr();

System.out.println(strImg);

baseTOImage(GetImageStr(), "a.jpg");

}

备注:如果通过post提交数据会出现问题,空格被编码成加号,于是传的参数明明是加号,获取的值却成了空格

html post 加号,post提交数据空格被编码成加号的解决办法相关推荐

  1. 织梦DEDECMS网站留言板提交时验证码错误返回空白页的解决办法

    织梦DEDECMS模板网站留言板提交时验证码错误返回空白页的解决办法: 默认情况下,如果我们使用DEDE模板中的默认留言板时,如果留言信息不正确或者输入内容为空时,dedecms系统就会返回一个空白页 ...

  2. ctrl+空格 切换中英文输入法失效的解决办法

    ctrl+空格 切换中英文输入法失效的解决办法 控制面板-->区域和语言选项-->语言-->详细信息-->键设置-->输入法/非输入法切换那一项 把启用按键顺序关了! 这 ...

  3. 百度提交Sitemap提示“索引型不予处理”的解决办法

    百度提交Sitemap提示"索引型不予处理"的解决办法 2020年7月8日,搜索学院发布关于sitemap提交方式优化公告 尊敬的搜索合作伙伴: 为了提升sitemap文件的处理效 ...

  4. Access ADO多连接时数据延迟无法同步无法及时更新的解决办法

    这个问题由来已久,由于不是非常影响项目进度,所以一直没有重视.最近闲来,又遇到此问题,决心仔细研究一番.上网搜了半天,整整半天,没有发现比较通俗易懂的文章,没办法,看看微软的资料,自己动手吧,把这个解 ...

  5. 工行企业网银“您的数据签名有误请联系当地工行”解决办法

    今天财务一同事在使用企业网银,提交批量指令时发现无法提交.一开始提示网页错误,发现控件未安装完整,安装完控件后,又提示"数据签名错误...".怀疑是否U盾控件安装错误,重装所有驱动 ...

  6. 关于oracle导入数据出现字符集问题及一点点解决办法!

    *当我们拿到一个备份的Oracle数据库时,要导入到新的数据库里,有时会出现字符集不匹配的情况,在这里会详谈一些个人的解决办法.文笔不足之处,请大家原谅.* 一.首先我想让大家了解一些基本概念,如下: ...

  7. stata中使用xsmle命令做空间面板数据hausman检验出现3200错误的解决办法

    xsmle gdp gt cz gdzc ersan ur,model(sdm) wmat(Wzhusj) hausman nolog Warning: All regressors will be ...

  8. word空格不能出现下划线的解决办法

    今天做一个合同,部分地方要用空白下划线,但有的地方不能显示空白的下划线. 原来是尾部的空格不能显示下划线. 解决方法如下: 1.文件--选项--版式选项(word2016为"其他对象的版式选 ...

  9. STM32H7并行读取AD7606数据以及片内AD值不准解决办法

    一.硬件 先了解一下AD7606,16位,单电源,200k采样率,8路,除了贵没有其他缺点,数据相当的稳,一个5V供电,不用运放的情况下采集电压精度可以达到1mv,非常Nice 与单片机相连 单片机 ...

  10. 为什么刚安装的icloud桌面上没有_误删icloud备忘录数据以致手机备忘录被清空的解决办法...

    2020-03-28晚上十点多,小孩(不是我的)玩一个登录了我apple id的ipad,在[icloud→"管理储存空间"→备忘录]这一栏里,把它的数据给删了,其操作如下图所示. ...

最新文章

  1. javascript中的正则匹配函数exec(),test(),match()
  2. UVa12704 - Little Masters
  3. activity切换效果
  4. SAP扫盲系列之二:SAP ABAP应用服务器的组成部分
  5. 软件测试技术 homework2
  6. mysql b 树原因_复习系列之数据库(四):MySQL为什么采用B+树作为索引结构?
  7. python中info的用法_Python pandas.DataFrame.info函数方法的使用
  8. git在跟踪bug中的使用
  9. java第七章jdbc课后简答题_java学习路线流程
  10. php自动加载类与路由,PHP实现路由和类自动加载
  11. 100小时学会sap傻瓜式入门版生产计划pp篇
  12. python一切皆对象的理解
  13. mysql查询表升序降序_创建一个按钮,对MYSQL查询进行升序和降序排序
  14. python3 模拟登录网站
  15. segno-纯Python语言的二维码和微二维码生成器
  16. java高校实验室预约管理系统
  17. 微信小程序基于OCR插件实现图文识别(超简单)
  18. 什么是G.654.E光纤?适合使用在什么场景?
  19. 论文翻译:A Comprehensive Survey on Graph Neural Networks
  20. 发电机组工作安排问题

热门文章

  1. 国内页游移植手游产品排名:现状和未来
  2. 学习笔记 java学习(三)
  3. Infor宣布首次公开募股
  4. SSL协议与Nginx安装SSL模块和ssl证书
  5. 如何解决哔哩哔哩视频声音过小的问题?
  6. Mongoose操作mongoDB的详细步骤
  7. 织梦index.php被黑,织梦网站被黑的解决流程
  8. 新华系“雄文”为何引发游戏产业3000亿市值蒸发?
  9. CSS3动画(动画已丢,看原文)
  10. 该文件没有与之关联的程序来执行操作。解决方案