最近在做通过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();