今天说下 MultipartFile 这个类吧,这两天正在用,也在网上查了查资料,算是做一个整理。
MultipartFile 这个类一般是用来接受前台传过来的文件,我最近是接收前台传过来的excel,做个导入功能。
下面来看代码吧
@RequestMapping(value = "/impotrColl", method = RequestMethod.POST)
@ResponseBody
public Result<Object> impotrColl(@RequestParam MultipartFile file) throws IOException{
//getInputStream() 方法 返回InputStream读取文件的内容
try {
InputStream in = file.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
//getOriginalFilename()方法是得到原来的文件名在客户机的文件系统名称
String OriginalFilename = file.getOriginalFilename();
//getName() 方法 返回参数的名称 这里返回的也就是 file
String fileName = file.getName();
String path = ImpotrCollController.class.getResource("/").getPath();
//这里我试了,可以用 fileName 也可以用 OriginalFilename 都没问题的
File f = new File(new File(path).getAbsolutePath() + "/" + fileName);
//transferTo() 我主要就是用来把 MultipartFile 转换成 File
try {
file.transferTo(f);
} catch (IOException e) {
e.printStackTrace();
}
//还有其他几个方法没用到
//isEmpty() 判断是否为空,或者上传的文件是否有内容
//getBytes() 将文件内容转化成一个byte[] 返回
//getSize() 返回文件大小 以字节为单位
//getContentType() 返回文件的内容类型 这个方法看文本内容,看不太清晰,我就试了下(传入文件类型----> 返回值)(.xls -->application/vnd.ms-excel)(.docx --> application/vnd.openxmlformats-officedocument.wordprocessingml.document)(.pdf --> application/pdf)(.jpg -->image/jpeg)目前就试了这几个类型,这个方法可以判断前天传过来的文件类型
}