MultipartFile对象使用

在平时的业务开发过程中,文件的上传和下载是很常见的场景。Spring MVC为文件上传提供了直接的支持,这种支持是由MultipartResolver实现的。Spring MVC使用Apache Commons FileUpload 技术实现了一个MultipartResolver实现类----CommonsMultipartResolver。因此Spring MVC的文件上传需要依赖Apache Commons FileUpload的组件。

Spring Mvc会将上传的文件绑定到MultipartFile对象中。MultipartFile提供了获取上传文件内容、文件名等方法。通过transferTo()方法还可以将文件存储到本地。

MultipartFile对象常见方法表:

MultipartFile 常见方法
方法名作用
byte[] getBytes()获取文件数据
String getContentType[]获取文件MIME类型,如image/jpeg等
InputStream getInputStream()获取文件流
String getName()获取表单中文件组件的名字
String getOriginalFilename()获取上传文件的原名
Long getSize()获取文件的字节大小,单位为byte
boolean isEmpty()检测是否有上传文件
void transferTo(File dest)

将上传文件保存到一个目录文件中

获取上传文件并保存本地示例:

 private String dirPath = "D:/source";
    
 public void fileUpload(MultipartFile picFile,String folderName) throws IOException{
        //获取文件原始名以获取它的文件后缀
        String fileName = picFile.getOriginalFilename();
        //获取"."后的后缀名
        String suffix = fileName.substring(fileName.lastIndexOf("."));
        //使用UUID.randomUUID()生成一个全局唯一的字符串
        fileName = UUID.randomUUID()+suffix;
        File dirFile = new File(dirPath);
        if (!dirFile.exists()){
            dirFile.mkdirs();
        }
        String filePath = dirPath + "/"+folderName + "/"+ fileName;
        File dirFile2=new File(filePath);
        if (!dirFile2.exists()){
            dirFile2.mkdirs();
        }
        //将文件保存到本地
        picFile.transferTo(dirFile2);
 }

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MultipartFile对象是Spring MVC中用于处理上传文件的对象。它提供了一系列方法,可以方便地获取上传文件的内容、文件名、大小等信息。其中一些常见的方法包括: - getBytes():获取文件的字节数组。 - getContentType():获取文件的MIME类型,例如image/jpeg。 - getInputStream():获取文件的输入流。 - getName():获取表单中文件组件的名字。 - getOriginalFilename():获取上传文件的原始文件名。 - getSize():获取文件的字节大小。 - isEmpty():检测是否有上传文件。 - transferTo(File dest):将文件存储到指定的本地文件。 在使用MultipartFile对象时,可以通过调用这些方法来获取所需的文件信息或对文件进行操作,如将文件存储到本地。注意,这些方法需要在Spring MVC的文件上传环境中正确配置和调用才能正常工作。 在Spring MVC中,上传文件的支持是通过MultipartResolver实现的。这个解析器会将上传的文件绑定到MultipartFile对象中,方便我们进行操作。Spring MVC使用Apache Commons FileUpload技术实现了一个MultipartResolver的实现类,即CommonsMultipartResolver。因此,在使用Spring MVC进行文件上传时,需要依赖Apache Commons FileUpload组件。 在进行文件上传时,你可以通过HttpServletRequest对象的getInputStream()方法获取文件的输入流,然后使用MultipartFile对象的transferTo()方法将文件存储到指定的本地文件中。另外,如果需要上传多个文件,可以使用MultipartHttpServletRequest对象的getFiles()方法获取所有上传文件的MultipartFile对象的列表。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [MultipartFile对象使用](https://blog.csdn.net/qq_43780761/article/details/126564391)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [如何HttpServletRequest文件对象并储存](https://download.csdn.net/download/weixin_38684806/13129023)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值