浅谈MultipartFile文件上传

一、简述
MultipartFile为org.springframework.web.mutipart包下的一个类,也就是说如果想使用MultipartFile这个类就必须引入spring框架
一般来讲使用MultipartFile这个类主要是来实现以表单的形式进行文件上传功能。

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

multipartFile.getInputStream();

(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的一些使用技巧

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

(2)可以根据MultipartFile的getSize方法来获取到传输文件的大小,这样就能限定传输过来的文件的大小了。
(3)如果使用MultipartFile来接收文件,那么@Param(“uploadFile”)定义的接收文件的名称则必不可少,这样才能接收到文件,如果没有定义@Param(“uploadFile”),则接收不到文件。例如下图

浅谈MultipartFile文件上传_第2张图片
以上部分内容参考自:
https://www.jianshu.com/p/e3d798c906cd

你可能感兴趣的:(springBoot,java,java,spring,spring,boot)