zoukankan      html  css  js  c++  java
  • springmvc 中将MultipartFile转为file,springboot 注入CommonsMultipartResolver

    第一种方法:
    
         MultipartFile file = xxx; 
            CommonsMultipartFile cf= (CommonsMultipartFile)file; 
            DiskFileItem fi = (DiskFileItem)cf.getFileItem(); 
    
            File f = fi.getStoreLocation();
    
      会在项目的根目录的临时文件夹下生成一个文件;
    
    第二种方法:
    
        transferTo(File dest);
    
      会在项目中生成一个新文件;
    
    第三种方法:   
    
      File f = (File) xxx 强转即可。前提是要配置multipartResolver,要不然会报类型转换失败的异常。
    
        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <property name="maxUploadSize" value="104857600"/>
            <property name="maxInMemorySize" value="4096"/>
        </bean>
      没试过;
    第四种方法:
      Workbook wb = Workbook.getWorkbook(xxx .getInputStream());
      转换为输入流,直接读取;
    第五种方法:
      byte[] buffer = myfile.getBytes();
      先转换为字节数组,没试过;
     //显示声明CommonsMultipartResolver为mutipartResolver
        @Bean(name = "multipartResolver")
           public MultipartResolver multipartResolver(){
            CommonsMultipartResolver resolver = new CommonsMultipartResolver();
            resolver.setDefaultEncoding("UTF-8");
            resolver.setResolveLazily(true);//resolveLazily属性启用是为了推迟文件解析,以在在UploadAction中捕获文件大小异常
            resolver.setMaxInMemorySize(40960);
            resolver.setMaxUploadSize(50*1024*1024);//上传文件大小 50M 50*1024*1024
            return resolver;
        }   
  • 相关阅读:
    CDH5.16.1集群企业真正离线部署
    创建node节点上kubeconfig文件
    二进制文件安装安装flannel
    二进制文件安装安装etcd
    二进制文件安装k8s所需要的证书服务
    快速安装k8s,版本为1.13.8
    利用dockerfile 安装一个nginx-1.14.1
    在非spring管理的类中,使用spring管理的类
    远程连接MySQL错误:Can't connect to MySQL server (10060)
    Java继承与多态
  • 原文地址:https://www.cnblogs.com/huzi007/p/5971197.html
Copyright © 2011-2022 走看看