public Result ImageBase64UploadFile(String base64Data){String tempFileName="";try {String dataPrix = "";String data = "";if(base64Data == null || "".equals(base64Data)){throw new Exception("上传失败,上传图片数据为空");}else{String [] d = base64Data.split("base64,");if(d != null && d.length == 2){dataPrix = d[0];data = d[1];}else{throw new Exception("上传失败,数据不合法");}}String suffix = "";if("data:image/jpeg;".equalsIgnoreCase(dataPrix)){//data:image/jpeg;base64,base64编码的jpeg图片数据suffix = ".jpg";} else if("data:image/x-icon;".equalsIgnoreCase(dataPrix)){//data:image/x-icon;base64,base64编码的icon图片数据suffix = ".ico";} else if("data:image/gif;".equalsIgnoreCase(dataPrix)){//data:image/gif;base64,base64编码的gif图片数据suffix = ".gif";} else if("data:image/png;".equalsIgnoreCase(dataPrix)){//data:image/png;base64,base64编码的png图片数据suffix = ".png";}else{throw new Exception("上传图片格式不合法");}tempFileName = RandomUtil.generateNumString(6) + suffix;//因为BASE64Decoder的jar问题,此处使用spring框架提供的工具包byte[] bs = Base64Utils.decodeFromString(data);try{//使用apache提供的工具类操作流FileUtils.writeByteArrayToFile(new File("D://image", tempFileName), bs);}catch(Exception ee){throw new Exception("上传失败,写入文件失败,"+ee.getMessage());}return Result.createSuccessResult(tempFileName+"文件上传成功!");} catch (Exception ex) {return Result.createFailResult(tempFileName+"文件上传失败,原因:"+ex.getMessage());}}
  • jfinal项目实例
 @Clear(AppSessionInterceptor.class)public Object uploadHeadimg(JSONObject kv) {HeaderUtil.addCORSHeader(getResponse());String khlx = kv.getString("khlx");String rwid = kv.getString("rwid");String ryid = kv.getString("ryid");//考核传这个
//        String tjrid = kv.getString("tjrid");//考察传这个String uploadPath = PropKit.get("baseUploadPath");//获取配置文件中的上传路径 fastplus-config-dev.txtString img_base64 = kv.getString("img_base64");String img_suffix = "";//图片后缀名String img_data = "";//图片base64数据String img_name = "";//图片名try {if (img_base64 == null || "".equals(img_base64)) {throw new Exception("上传失败,上传图片数据为空");} else {String[] d = img_base64.split("base64,");if (d != null && d.length == 2) {img_suffix = d[0];img_data = d[1];} else {throw new Exception("上传失败,数据不合法");}}//获取图片后缀名if ("data:image/jpeg;".equalsIgnoreCase(img_suffix)) {//data:image/jpeg;base64,base64编码的jpeg图片数据img_suffix = ".jpeg";} else if ("data:image/x-icon;".equalsIgnoreCase(img_suffix)) {//data:image/x-icon;base64,base64编码的icon图片数据img_suffix = ".ico";} else if ("data:image/gif;".equalsIgnoreCase(img_suffix)) {//data:image/gif;base64,base64编码的gif图片数据img_suffix = ".gif";} else if ("data:image/png;".equalsIgnoreCase(img_suffix)) {//data:image/png;base64,base64编码的png图片数据img_suffix = ".png";} else if ("data:image/jpg;".equalsIgnoreCase(img_suffix)) {//data:image/png;base64,base64编码的png图片数据img_suffix = ".jpg";} else {throw new Exception("上传图片格式不合法");}img_name = ryid + img_suffix;byte[] img_byte = Base64Kit.decode(img_data);//base64解码try {//使用apache提供的工具类操作流FileUtils.writeByteArrayToFile(new File(uploadPath, img_name), img_byte);} catch (Exception ee) {throw new Exception("上传失败,写入文件失败," + ee.getMessage());}} catch (Exception e) {e.printStackTrace();}if (khlx.equals("0")) {//0考核 考核人员表
//            Db.update("update khry set pic = ? where rwid = ? and ryid = ?", uploadPath + photo_name, rwid, ryid);Db.update("update khry set pic = ? where rwid = ? and ryid = ?", img_name, rwid, ryid);} else if (khlx.equals("1")) {//1考察 推荐人汇总表
//            Db.update("update tjrhz set pic = ? where rwid = ? and tjrid = ?", uploadPath + photo_name, rwid, ryid);Db.update("update tjrhz set pic = ? where rwid = ? and tjrid = ?", img_name, rwid, ryid);}Map map = new HashMap();map.put("pic", img_name);return map;}

【day29】图片base64格式如何获取后缀名并上传到指定路径下相关推荐

  1. java 获取上传文件后缀_java 文件上传相关知识及得到后缀名

    文件上传功能是最基本的,所以需要真正的掌握 =========文件上传功能================ @Property private UploadedFile file; @Inject p ...

  2. android xutils3.0获取服务器图片,Android端使用xUtils3.0实现文件上传

    privatevoidupLoadOnClick(View v) {        String upUrl ="/mnt/sdcard/pic/test.jpg";//指定要上传 ...

  3. base64图片解码生成图片,上传到指定服务器

    问题 前端传来的base64截图,需要转换成图片,存储到fastdfs服务器 转换失败,生成的图片是空白的 解决 原因是生成的base64被拼接了一个头部,这个不是图片的一部分,转换时,是需要去掉的 ...

  4. 将指定路径下的所有SVG文件导出成PNG等格式的图片(缩略图或原图大小)

    原文:将指定路径下的所有SVG文件导出成PNG等格式的图片(缩略图或原图大小) WPF的XAML文档(Main.xaml): <Window x:Class="SVG2Image.Ma ...

  5. 动态获取爱奇艺上传视频mp4格式url地址

    有时候,在工作中有些客户需要用到视频,我们大家都知道视频是非常的耗费流量的,因此,如果因为项目要求客户单独买台视频服务器是非常划不来的.那么将视频上传到优酷,爱奇艺等视频网站来托管那是一件很好的解决方 ...

  6. java通过URL获取网络文件并上传到阿里云OSS文件服务器

    首先,先从网络上读取到文件 /*** 从网络Url中读取文件* @param urlStr 文件URL地址* @throws IOException*/public String downLoadFr ...

  7. vue-quill-editor图片大小的编辑,拖拽,上传视频

    vue-quill-editor图片大小的编辑,拖拽,上传视频 在vue组件中注册和使用 <quill-editor v-model="formInline.viewConfig&qu ...

  8. Java向将指定文件(含文件列表)或者指定路径下目录打包成zip格式

    Java向将指定文件(含文件列表)或者指定路径下目录打包成zip格式 运行环境 pom依赖 测试方法 测试效果 运行环境 1.springboot 2.2.x 2.maven 3.5.4 pom依赖 ...

  9. Spring boot上传文件(图片)到阿里云OSS(直接上传到应用服务器)

    Spring boot上传文件(图片)到阿里云OSS(直接上传到应用服务器) 主要思路 上传图片的思路有两种: 第一种是上传到应用服务器,再由应用服务器上传到OSS.这种适合上传的文件较小,较为简单, ...

最新文章

  1. Python 报错 SyntaxError: invalid syntax 解决方法
  2. retinaface人脸姿态
  3. python源码精要(6)-CPython编译标志
  4. 每天一道LeetCode-----判断给定字符串是否符合某个模式
  5. service zookeeper does not support chkconfig解决办法
  6. java编写排序的代码_在Java 8之前,您编写了几行代码来对对象集合进行排序?...
  7. 谈谈Winform程序的界面设计
  8. ASP.NET 安全认证
  9. Win10人脉应用将关闭与新浪微博关联
  10. mongoose的用法(注:连接数据库)
  11. java图书管理系统的不足_java图书管理系统的问题
  12. HCIE大师之路(六)——BGP路由综合实验
  13. css html5布局方式_创建新HTML5&CSS3单页布局– Rock门户
  14. 1063 Set Similarity (25 分) java 题解
  15. 计算机文件路径的表示
  16. 从勾股定理看机器学习
  17. 有人爬了一万个购物网站,发现了1818个「年底大促」的商家小伎俩
  18. 搜狗输入法4.2android,搜狗手机输入法增加适配系统 推Android专用版
  19. Hadoop:MapReduce编程之统计二手房数目
  20. /',‘\\’与‘\’的区别

热门文章

  1. 【避坑】初次接项目的血与泪,扎坑了老铁
  2. 订单超时未支付自动取消8种实现方案
  3. 数据库之多值依赖与4NF
  4. 开启个性化英文阅读 网易发布有道e读
  5. Python练习题答案: 括号是响亮!【难度:2级】--景越Python编程实例训练营,1000道上机题等你来挑战
  6. 线性代数 第三章 向量与向量空间 知识点总结(Jeff自我感悟)
  7. linux下文件的属性 r, w, x 分别代表什么意思?
  8. iview upload php,iview upload跨域问题
  9. 朴素贝叶斯情感分析评分python_Stanford NLP学习笔记:7. 情感分析(Sentiment)
  10. 富文本编辑器CKeditor文件上传下载SmartUpload插件