• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Java > SpringMVC中MultipartFile上传获取图片的宽度和高度详解

SpringMVC中MultipartFile上传获取图片的宽度和高度详解

作者:DT部落 字体:[增加 减小] 来源:互联网 时间:2017-05-28

DT部落 通过本文主要向大家介绍了multipartfile详解,multipartfile,multipartfile上传,multipartfile file,multipartfile类等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

SpringMVC一般使用MultipartFile来做文件的上传,通过MultipartFile的getContentType()方法判定文件的类型(MIME)

“.doc”:”application/msword”

“.jpg”:”image/jpeg”

“.jpeg”:”image/jpeg”

“.png”:”image/png”

….

有时项目当中,上传图片了,需要判定图片的约束规格,比如宽度和高度是不是符合要求,不符合要求的展示出来也会变形,或者模糊不清晰。

我们可以通过javax.imageio.ImageIO和java.awt.image.BufferedImage来获取到图片的宽度和高度。代码如下:

 /**
 * 上传图片
 * @param file
 * @return
 * @throws IOException 
 * @throws Exception
 */
 @RequestMapping(value = "/uploadImg", method = RequestMethod.POST, produces = "text/html;charset=UTF-8")
 public String upload(@RequestParam(value = "file", required = true) MultipartFile file) {
 System.out.println(file.getContentType());
 System.out.println(file.getName());
 System.out.println(file.getOriginalFilename());
 
 try {
 BufferedImage image = ImageIO.read(file.getInputStream());
 if (image != null) {//如果image=null 表示上传的不是图片格式
 System.out.println(image.getWidth());//获取图片宽度,单位px
 System.out.println(image.getHeight());//获取图片高度,单位px
 }
 } catch (IOException e) {
 e.printStackTrace();
 }
 
 return "hello";
 }
</div>

BufferedImage image获取的对象如果是空的话,表示上传文件无法转换成图片对象,这也说明上传的文件不是图片可以用作上传文件被篡改成图片格式的判定,如:上传文件是123.doc,被前端篡改成123.png此时通过MultipartFile的getContentType()的方法获取的MIME居然是:”image/png”。

这也可以作为图片判定的一种方式。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • SpringMVC中MultipartFile上传获取图片的宽度和高度详解
  • SpringMVC中MultipartFile上传获取图片的宽度和高度详解

相关文章

  • 2017-05-28Servlet实现多文件上传功能
  • 2017-05-28Java实现数组反转翻转的方法实例
  • 2017-05-28javaweb实现文件上传示例代码
  • 2017-05-28零基础入门学习——Spring Boot注解(一)
  • 2017-05-28springboot整合 beatlsql的实例代码
  • 2017-05-28全排列算法-递归与字典序的实现方法(Java)
  • 2017-05-28Java中List Set和Map之间的区别_动力节点Java学院整理
  • 2017-05-28java 实现定时的方法及实例代码
  • 2017-05-28Java IO流体系继承结构图_动力节点Java学院整理
  • 2017-05-28SpringMVC接收页面表单参数

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Java经典排序算法之归并排序详解
    • 老生常谈java路径中的反斜杠和斜杠的区别
    • Java本地缓存的实现代码
    • Java查找 List 中的最大最小值实例演示
    • MyBatis 参数类型为String时常见问题及解决方法
    • TreeSet详解和使用示例_动力节点Java学院整理
    • SpringMVC实现前端后台交互传递数据
    • 浅谈java里的EL表达式在JSP中不能解析的问题
    • java 实现文件夹的拷贝实例代码
    • mybatis教程之查询缓存(一级缓存二级缓存和整合ehcache)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有