springmvc 中将MultipartFile转为file,springboot 注入CommonsMultipartResolver

mac2022-06-30  61

第一种方法:    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; }

 

转载于:https://www.cnblogs.com/huzi007/p/5971197.html

最新回复(0)