在项目中,上传图片时,我们可以 采用Base64存储的方式,在后端直接接受前端传入的Base64码,然后转为图片,存储到服务器

Base64码的组成大概是这样的:图片格式;base64,图片内容

所以首先,我们要对传入的Base64码进行分割处理,获取到他的图片格式以及图片内容

        String [] d = base64Data.split("base64,");if(d != null && d.length == 2){dataPrix = d[0];//获取到的前缀data = d[1];//获取到的图片内容}

然后,将读取到的图片内容转为byte,便于操作,并调整异常数据

        byte[] bs = Base64Utils.decodeFromString(data);for(int i=0;i<bs.length;++i) {if(bs[i]<0) {//调整异常数据bs[i]+=256;}}

设置文件路径

String imgFilePath = System.getProperty("user.dir");imgFilePath = imgFilePath + "/webapps/assets/photo/" + filename;System.out.println(imgFilePath);

使用apache提供的工具类操作流输出

 try{//使用apache提供的工具类操作流OutputStream out = new FileOutputStream(imgFilePath);out.write(bs);out.flush();out.close();}catch(Exception ee){throw new Exception("上传失败,写入文件失败,"+ee.getMessage());}

图片就成功保存了!

后端存储Base64码传输的图片相关推荐

  1. node.js把前台传来的base64码转成图片存放

    最近项目有个功能,更换用户个人头像,裁剪后上传保存. 裁剪用了cropper.js,裁剪后的图片为base64编码格式,传到node中,进行转换成图片在保存到数据库中,代码如下: var fs = r ...

  2. base64 去掉白边_LODOP直接用base64码输出图片

    Lodop中的ADD_PRINT_IMAGE,也可以直接输出base64码图片,不用加img标签,如果加了img标签,会被当做超文本对待,受浏览器引擎解析的影响. 什么时候使用base64码直接输出比 ...

  3. base64码通过http传输 +号变 空格 以及 图片编码后字符串较长导致POST提交失败 问题解决...

    场景:图片上传OSS存储,接口拿字符串去接前端传的base64码,服务器打印入参传的值,发现和前端打印的值有所区别,服务器中打印的值所有+号全部变成空格. 解决办法: Java中使用:url = ur ...

  4. Vue+Springboot上传图片将 Base64 码转换为图片保存在指定文件夹

    Vue+Springboot上传图片将 Base64 码转换为图片保存在指定文件夹 前言 一.Vue 前端 一.五 注意!!! 二.Springboot 后端 引入Base64依赖 在项目里新建 ut ...

  5. pythonの鉴黄之路(二)——图片转base64码

    上篇博客的YCbCr鉴黄有些过于浮夸 http://blog.csdn.net/sm9sun/article/details/53319959 于是经过慎重决定,我们打算采取调用外部成熟的接口来完成鉴 ...

  6. SpringBoot+Vue项目中遇到Not allowed to load local resource图片路径问题的两种解决方案(在后端映射本地路径或将图片转base64返回给前端)

    一.报错截图 第一种解决方案 后端映射本地路径 编写MyConfig类 Java代码[MyWebConfig] package com.wechat.front.utils;import org.sp ...

  7. Java生成二维码以及二维码解码,图片与base64互相转化的实现

    二维码生成是使用 google 开源图形码工具Zxing. maven依赖如下: <dependency><groupId>com.google.zxing</group ...

  8. C++ Socket连续传输Json Base64 imencode编码的图片

    C++ Socket连续传输Json Base64 imencode编码的图片 写在前面 原理 图片编码 图片的几种格式 opencv Mat FILE二进制文件 opencv imencode编码的 ...

  9. uniapp上传图片压缩并转base64码、base64转图片路径

    文章目录 一.上传图片压缩再转base64码 1.选择图片 [官方api](https://uniapp.dcloud.net.cn/api/media/image?id=chooseimage) 2 ...

最新文章

  1. 【转载】ogre内存管理
  2. OSPF 多区域配置
  3. [C++基础]025_虚函数和虚函数表
  4. react销毁方法钩子0_React钩子:使用React状态的新方法
  5. 鲁大师检测内存条_外观漂亮,做工精致,潜力巨大、十铨(Team)8GB×2 3200Mhz台式机内存条 火神系列 评测...
  6. 电脑怎么测试硬盘的读写速度_电脑硬盘这麽多到底该怎么选?硬盘的各类分类你知道吗...
  7. VoLTE技术中的会话持续性-ICS
  8. 程序猿用EdrawMax可以画啥图呢?
  9. Oracle 集群sysbackup用户登陆随机报错ORA-01017
  10. MATLAB计算干旱指标:SPI、SRI、SWAP、DWAAI、EDI等
  11. python培训抖音广告骗局
  12. 开发中,GA、Beta、GA、Trial到底是什么含义
  13. postman 一直Sending
  14. Apple App store的应用购买限制 - 年龄
  15. Apereo CAS 4.1 反序列化命令执行漏洞复现
  16. 电视软件测试项目怎么做,LED_TV液晶电视软件测试用例.doc
  17. SSL双向验证--keytool实现自签名证书
  18. 【论文阅读】【ViT系列】ViT:一张图片用于大规模图像识别的Transformers(手动翻译)
  19. 音乐播放器下载音乐需要收费
  20. python3爬虫模拟登录_python3爬虫——模拟登录丁香园并提取信息

热门文章

  1. 自适应巡航控制系统——ACC
  2. PHP学习笔记-Session
  3. nikebot nike机器人 如何做一个nikebot nike监控怎么能不延迟 nike如何过盾 bot 机器人 snkrs
  4. 为何Excel表格部分选项是灰色的,无法选择?
  5. udo/tcp协议占用端口列表(因5060被占用而采用的新端口)
  6. 计算机共享有哪些方式,信息共享的方式有哪些
  7. 『看球笔记』20140217 红军足总杯遭枪手2-1淘汰 ,胜负手在哪?
  8. 【Coling 2022】Context-Tuning: Learning Contextualized Prompts for Natural Language Generation
  9. 学习笔记:物料接收到质检库存的几种不同方式
  10. 忘记svn密码怎么办