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