使用java8实习文件上传和下载功能
时间: 2023-12-31 15:16:03 浏览: 68
基于Java的毕业实习项目设计源码
文件上传和下载是Web开发中常见的功能之一,Java 8 也提供了相关的API来实现这些功能。下面是一个简单的示例代码:
文件上传:
```java
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public String uploadFile(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return "上传文件为空";
}
try {
byte[] bytes = file.getBytes();
Path path = Paths.get("uploads/" + file.getOriginalFilename());
Files.write(path, bytes);
} catch (IOException e) {
e.printStackTrace();
}
return "文件上传成功";
}
```
文件下载:
```java
@RequestMapping(value = "/download", method = RequestMethod.GET)
public ResponseEntity<byte[]> downloadFile() throws IOException {
Path path = Paths.get("uploads/example.txt");
byte[] bytes = Files.readAllBytes(path);
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Disposition", "attachment; filename=example.txt");
ResponseEntity<byte[]> responseEntity = new ResponseEntity<>(bytes, headers, HttpStatus.OK);
return responseEntity;
}
```
在上面的代码中,文件上传使用了Spring MVC框架的 @RequestParam 注解来获取上传的文件对象,然后使用 Java 的 Files.write() 方法将文件写入指定路径。
文件下载使用了 ResponseEntity<byte[]> 类型来将文件内容以二进制字节流的形式返回给客户端。同时使用 HttpHeaders 设置文件名和下载方式。
当然,这只是一个简单的示例,实际应用中可能需要进行更多的文件处理和安全校验。
阅读全文