MultipartFile
MultipartFile转File
File file = new File(path);
FileUtils.copyInputStreamToFile(multipartFile.getInputStream(), file);
File转MultipartFile
因为
MultipartFile
是一个接口类,所以需要创建一个MultipartFile
接口类的实现类来完成转换。一般情况下,如果我们需要给接口传输文件的时候,直接传File
类型即可,接口入参用MultiparFile
可以正常接收到的。
所有方法
返回类型 | 方法和描述 |
---|---|
byte[] | getBytes() 将文件的内容作为字节数组返回 |
java.lang.String | getContentType() 返回文件的内容类型 |
java.io.InputStream | getInputStream() 返回一个InputStream用来读取文件的内容 |
java.lang.String | getName() 返回文件参数名 |
java.lang.String | getOriginalFilename() 返回客户端文件系统中的原始文件名。 |
long | getSize() 以字节为单位返回文件的大小 |
boolean | isEmpty() 返回上传的文件是否为空 |
void | transferTo(java.io.File file) 将收到的文件写入到给定的目标文件 |
实例
html
<html>
<head>
<title>文件上传实例</title>
</head>
<body>
<form action="import.do" method="post" enctype="multipart/form-data">
选择文件:<input type="file" name="file">
<input type="submit" value="提交">
</form>
</body>
Controller
/**
* service
*/
@Autowired
Service service;
/**
* 导入
*
* @param file 导入的文件
* @return 是否导入成功
*/
@PostMapping("/import")
public String importExcel(@RequestPart("file") MultipartFile file) {
try {
return service.importExcel(file);
} catch (Exception e) {
e.printStackTrace();
return "导入失败";
}
}
Service
/**
* 导入
*
* @param file 导入的文件
* @return 是否导入成功
*/
String importExcel(MultipartFile file) throws IOException;
ServiceImpl
@Override
public ObjectRestResponse<String> importExcel(MultipartFile file) throws IOException {
System.out.println("file.getBytes(): " + file.getBytes());
System.out.println("file.getContentType(): " + file.getContentType());
System.out.println("file.getName(): " + file.getName());
System.out.println("file.getOriginalFilename(): " + file.getOriginalFilename());
System.out.println("file.getSize(): " + file.getSize());
System.out.println("file.isEmpty(): " + file.isEmpty());
return "success";
}
输出结果
file.getBytes(): [B@6fffbf99
file.getContentType(): application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
file.getName(): file
file.getOriginalFilename(): 新建 XLSX 工作表.xlsx
file.getSize(): 11877
file.isEmpty(): false