java对multipartfile文件下载并保存本地
时间: 2023-05-20 19:00:44 浏览: 928
可以使用以下代码实现:
```java
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@RestController
public class FileController {
@PostMapping("/download")
public ResponseEntity<byte[]> downloadFile(@RequestParam("file") MultipartFile file) throws IOException {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDispositionFormData("attachment", file.getOriginalFilename());
Path path = Paths.get(file.getOriginalFilename());
Files.write(path, file.getBytes());
File downloadFile = new File(file.getOriginalFilename());
return ResponseEntity.ok()
.headers(headers)
.body(Files.readAllBytes(downloadFile.toPath()));
}
}
```
这个代码片段实现了一个文件下载的接口,可以接收一个 MultipartFile 类型的文件,将其保存到本地,并返回一个 ResponseEntity 对象,其中包含了文件的字节数组和一些 HTTP 头信息,用于告诉浏览器如何处理这个文件。
阅读全文