最近在做通过Excel批量导入数据库数据的操作,其中前台选择文件后台进行接收,接收的文件是MultipartFile类型的,但是导入时需要用的是File类型,下面是简单的转化方法:
List<MultipartFile> implementFile = ((MultipartHttpServletRequest)request).getFiles("file"); MultipartFile mFile = implementFile.get(0); File f = null;//MultipartFile转File 因为后面获取Excel内容的方法需要File类型文件 InputStream ins = mFile.getInputStream(); f=new File(mFile.getOriginalFilename()); try { OutputStream os = new FileOutputStream(f); int bytesRead = 0; byte[] buffer = new byte[8192]; while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) { os.write(buffer, 0, bytesRead); } os.close(); ins.close(); } catch (Exception e) { e.printStackTrace(); } //得到表格中所有的数据 // List<KnowledgeBase> listExcel=knowledgeBaseService.getAllByExcel(f); //-------------------------自己个人的业务逻辑------------------------------ //--------------------------个人业务逻辑结束------------------------------ //用上面的这种方法会在项目文件下下产生一个临时文件,在此我做了删除操作 File del = new File(f.toURI()); //删除项目产生的临时文件 del.delete();