MultipartFile 接口的 transferto() 用法
时间: 2023-04-11 07:02:30 浏览: 454
MultipartFile 接口的 transferto() 方法用于将上传的文件保存到指定的文件中。具体用法如下:
1. 首先,需要创建一个 File 对象,用于指定文件的保存路径和文件名。
2. 然后,调用 MultipartFile 接口的 transferto() 方法,将上传的文件保存到指定的文件中。
示例代码如下:
```java
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) throws IOException {
if (!file.isEmpty()) {
File dest = new File("D:/upload/" + file.getOriginalFilename());
file.transferTo(dest);
return "上传成功!";
} else {
return "上传失败,文件为空!";
}
}
```
在上面的代码中,我们首先创建了一个 File 对象 dest,用于指定文件的保存路径和文件名。然后,调用 MultipartFile 接口的 transferto() 方法,将上传的文件保存到指定的文件中。
需要注意的是,如果上传的文件比较大,可能会导致内存溢出。为了避免这种情况,可以使用 MultipartFile 接口的 getInputStream() 方法获取文件的输入流,然后使用 IOUtils 工具类将文件写入到指定的文件中。示例代码如下:
```java
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) throws IOException {
if (!file.isEmpty()) {
File dest = new File("D:/upload/" + file.getOriginalFilename());
InputStream in = file.getInputStream();
OutputStream out = new FileOutputStream(dest);
IOUtils.copy(in, out);
IOUtils.closeQuietly(in);
IOUtils.closeQuietly(out);
return "上传成功!";
} else {
return "上传失败,文件为空!";
}
}
```
在上面的代码中,我们首先创建了一个 File 对象 dest,用于指定文件的保存路径和文件名。然后,调用 MultipartFile 接口的 getInputStream() 方法获取文件的输入流,使用 FileOutputStream 创建一个输出流,然后使用 IOUtils 工具类将文件写入到指定的文件中。最后,关闭输入流和输出流。
阅读全文