Springmvc 上传文件MultipartFile 转File 笔记

来源:互联网 发布:淘宝一比一高仿奢侈品 编辑:程序博客网 时间:2024/06/07 19:55

业务场景:ssm框架 上传文件到应用服务器过程中要传到专有的文件服务器并返回url进行其他操作。

业务难点:MultipartFile转File类型

解决代码:

       /**          * MultipartFile 转换成File          *           * @param multfile 原文件类型          * @return File          * @throws IOException          */          private File multipartToFile(MultipartFile multfile) throws IOException {              CommonsMultipartFile cf = (CommonsMultipartFile)multfile;               //这个myfile是MultipartFile的              DiskFileItem fi = (DiskFileItem) cf.getFileItem();              File file = fi.getStoreLocation();              //手动创建临时文件              if(file.length() < CommonConstants.MIN_FILE_SIZE){                  File tmpFile = new File(System.getProperty("java.io.tmpdir") + System.getProperty("file.separator") +                           file.getName());                  multfile.transferTo(tmpFile);                  return tmpFile;              }              return file;          }  
注意事项:上传文件大小若小于2048,则不会生成临时文件
       <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">              <property name="defaultEncoding" value="UTF-8" />              <property name="maxUploadSize" value="10240000" />              <!-- 设置在文件上传时允许写到内存中的最大值,以字节为单位计算,默认是10240 -->              <!-- 但是经实验,上传文件大小若小于此参数,则不会生成临时文件,故改为2048 -->              <property name="maxInMemorySize" value="2048" />            </bean>  


原创粉丝点击