0
点赞
收藏
分享

微信扫一扫

文件的处理

金牛豆豆 2022-03-21 阅读 36
spring boot

一,基础操作上传

使用如下jar包

<dependency>
  <groupId>commons-fileupload</groupId>
  <artifactId>commons-fileupload</artifactId>
  <version>1.3.2</version>
</dependency>

客户端

 <h1>文件上载</h1>
    <FORM ENCTYPE="multipart/form-data" 
        ACTION="user/upload.do" METHOD="POST">
      File to process:<br> 
      <INPUT NAME="userfile1" TYPE="file"><br>
      <INPUT NAME="userfile2" TYPE="file"><br>
      <INPUT TYPE="submit" VALUE="Send File">
    </FORM> 

配置spring解析器

<bean id="multipartResolver"
    class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- one of the properties available; the maximum file size in bytes -->
    <property name="maxUploadSize" 
        value="10000000"/>
    <property name="defaultEncoding"
        value="UTF-8"/>
</bean> 

控制器

@RequestMapping("/upload.do")
@ResponseBody
public JsonResult upload( 
        MultipartFile userfile1, 
        MultipartFile userfile2) throws Exception{
    //Spring MVC 中可以利用 MultipartFile 
    //接收 上载的文件! 文件中的一切数据
    //都可以从 MultipartFile 对象中找到

    //获取上再是原始文件名
    String file1 = 
        userfile1.getOriginalFilename();
    String file2 = 
        userfile2.getOriginalFilename();

    System.out.println(file1);
    System.out.println(file2);

    //保存文件的3种方法:
    //1. transferTo(目标文件)
    //   将文件直接保存到目标文件, 可以处理大文件
    //2. userfile1.getBytes() 获取文件的全部数据
    //   将文件全部读取到内存, 适合处理小文件!!
    //3. userfile1.getInputStream()
    //   获取上载文件的流, 适合处理大文件

    //保存的目标文件夹: /home/soft01/demo
    File dir = new File("D:/demo");
    dir.mkdir();

    File f1 = new File(dir, file1);
    File f2 = new File(dir, file2);

    //第一种保存文件
    userfile1.transferTo(f1);
    userfile2.transferTo(f2);

    
    in2.close();
    out2.close();

    return new JsonResult(true);
}
举报

相关推荐

0 条评论