hello,项目开始了,博客调研。

一、概述

MultipartFile是org.springframework.web.mutipart包下的一个类,需引入Springboot框架。一般来说是实现文件上传的功能。

二、分析

MultipartFile类的注释说明

第一句:一种可以接收使用多种请求方式来进行上传文件的代表形式。也就是说,如果你想用spring框架来实现项目中的文件上传功能,则MultipartFile可能是最合适的选择,而这里提到的多种请求方式则可以通俗理解为以表单的形式提交。

第二句:这个文件内容可以存储到内存中或者存储在磁盘的临时位置上。

第三句:无论发生哪种情况,用户都可以自由地拷贝文件内容到session存储中,或者以一种永久存储的形式进行存储,如果有需要的话。

第四句:这种临时性的存储在请求结束之后将会被清除掉。

三、MultipartFile常用方法

首先MultipartFile是一个接口,并继承自InputStreamSource,且在InputStreamSource接口中封装了getInputStream方法,该方法的返回类型为InputStream类型,这也就是为什么MultipartFile文件可以转换为输入流。通过以下代码即可将MultipartFile格式的文件转换为输入流。

multipartFile.getInputStream();

(1)、getName方法

就是说如果使用MultipartFile来接收文件,那么@Param("uploadFile")定义的接收文件的名称则       必不可少,这样才能接收到文件,如果没有定义@Param("uploadFile"),则接收不到文件。

(2)、getOriginalFileName方法

getOriginalFileName方法获取的是文件的完整名称,包括文件名称+文件拓展名。

(3)、getContentType方法

getContentType方法获取的是文件的类型,注意是文件的类型,不是文件的拓展名。

(4)、isEmpty方法

isEmpty方法用来判断传入的文件是否为空,如果为空则表示没有传入任何文件。

(5)、getSize方法

getSize方法用来获取文件的大小,单位是字节。

(6)、getBytes方法

getBytes方法用来将文件转换成一种字节数组的方式进行传输,会抛出IOException异常。

(7)、getInputStream方法

getInputStream方法用来将文件转换成输入流的形式来传输文件,会抛出IOException异常。

(8)、transferTo方法

transferTo方法用来将接收文件传输到给定目标路径,会抛出IOException、IllegalStateException异常。该方法在实际项目开发中使用较少。

三、MultipartFile的一些使用技巧

(1)我们在使用MultipartFile作为参数传递的时候,可以将MultipartFile声明为一个数组,这样就能支持多文件传输,如果只需要传输一个文件,则去掉数组就好了。

(2)可以根据MultipartFile的getSize方法来获取到传输文件的大小,这样就能限定传输过来的文件的大小了。

可以在我的github中看到MultipartFile的实战代码:https://github.com/SteafanMrZhou/springBootPractice

深入理解MultipartFile相关推荐

  1. 初步理解MultipartFile[文件上传]

    浅识MultipartFile 一.概述 二.对MultipartFile初步理解 1.MultipartFile类的注释说明 2.MultipartFile常用方法解析 三.MultipartFil ...

  2. anita的音乐空间(项目)

    目录 项目核心功能 项目前置工作 1.创建项目 2.数据库设计 3.配置文件中配置数据库和xml 核心功能设计 1.登录功能 2.注册功能 3.上传音乐至音乐列表功能 4.播放音乐功能 5.删除音乐列 ...

  3. springmvc 传对象报400_源码导读:深入理解SpringMVC报400时的流程

    相信很多同学都了解过(或者面试前都会复习过)springMVC的执行流程,如下图: 网图 转载请注明出处:Michael孟良 这里我想细节地理解下springMVC报400(也就是上图第5步拿到Han ...

  4. springboot文件上传服务器,SpringBoot: 浅谈文件上传和访问的坑 (MultiPartFile)

    本次的项目环境为 SpringBoot 2.0.4, JDK8.0. 服务器环境为CentOS7.0, Nginx的忘了版本. 前言 SpringBoot使用MultiPartFile接收来自表单的f ...

  5. MultipartFile和CommonsMultipartFile的区别!

    MultipartFile 源码 package org.springframework.web.multipart;import java.io.File; import java.io.IOExc ...

  6. 项目需求--将文件(html格式的字符串)转换为MultipartFile格式的文件然后转调第三方接口

    网上看了很多,但是不符合需求不说,还有很多都不能用....自己就整理了下相关的代码,可能会有点乱,自己理解着看 根据url地址将文件转换成MultipartFile格式的文件 /*** @descri ...

  7. 【SpringBoot】MultipartFile的transferTo()方法详解

    目录 背景 问题 源码分析 后记 背景 我们在编写Spring Boot应用中,常会遇到文件上传问题,Spring Boot Web提供了MutipartFile的文件支持,具体和File的区别可自行 ...

  8. SpringMVC框架理解

    1. Spring与Web环境集成 1.1 ApplicationContext应用上下文获取方式 应用上下文对象是通过new ClasspathXmlApplicationContext(sprin ...

  9. MultipartFile类的说明

    MultipartFile类的说明 MultipartFile类是一个接口 public interface MultipartFile  /**  * A representation of an ...

最新文章

  1. Missing key(s) in state_dict
  2. 场景切换 异步加载 loading条做法
  3. 陕西师范大学计算机专业录取,陕西师范大学计算机类专业2016年在山西理科高考录取最低分数线...
  4. mybatis 开发环境搭建
  5. et操作 python wps_拿起来就用的office二次开发(python,win32com使用经历总结)
  6. echarts字变大_在echarts中如何调整lable的字体大小?
  7. 对抗思想与强化学习的碰撞-SeqGAN模型原理和代码解析
  8. C++的六个默认函数
  9. Firefox 密码管理器 Lockbox 推出 Android 版
  10. python限制输入数字范围_关于python:如何限制Django模型中数字字段的最大值?
  11. 你的工资基础决定你的前途
  12. 课程设计C语言歌手,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
  13. 微信小程序实现网络请求API获取数据
  14. bilibili 弹幕协议分析,golang 还原代码
  15. Linux面试必备基础知识(十一)——系统管理命令
  16. Could not connect to wpa_supplicant: p2p-dev-wlan0 - re-trying
  17. AtCoder Beginner Contest 126
  18. 《Head First Java (中文第二版)》勘误
  19. libvirt 详解(1)
  20. 02 学生成绩表(C语言)

热门文章

  1. 关于《无货源开店已确认违法》新闻稿说明
  2. leetcode91
  3. 标准误,标准差,置信区间分不清?派森诺教你画误差线
  4. oracle sun 小机价格,Oracle/Sun SPARC T3-1 服务器
  5. 6.1UiPath Orchestrator的注册
  6. (2012.01.12-2012.04.01)八十二天的学习小记
  7. 露露给我上了一堂7万的课_我在软件测试中的前10堂课
  8. matlab数字填图游戏,数字填色游戏下载-数字填色游戏安卓版下载(Paint By Number) v1.7.3-11773手游网...
  9. php随机数四位,生成四位随机数的PHP代码
  10. 河内塔算法java_河内递归塔Java