ssm实现文件上传和下载代码
时间: 2024-02-06 08:13:08 浏览: 195
文件上传和下载是web应用开发中比较常见的功能。下面是使用SSM框架实现文件上传和下载的代码示例。
1. 文件上传
(1)在jsp页面中添加文件上传表单:
```html
<form action="uploadFile" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit" value="上传"/>
</form>
```
(2)在Controller中添加上传文件处理方法:
```java
@RequestMapping("/uploadFile")
public String uploadFile(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws IOException {
String fileName = file.getOriginalFilename();
String filePath = request.getSession().getServletContext().getRealPath("/") + fileName;
File dest = new File(filePath);
file.transferTo(dest);
return "success";
}
```
2. 文件下载
(1)在jsp页面中添加文件下载链接:
```html
<a href="downloadFile">下载文件</a>
```
(2)在Controller中添加文件下载处理方法:
```java
@RequestMapping("/downloadFile")
public ResponseEntity<byte[]> downloadFile(HttpServletRequest request) throws IOException {
String fileName = "example.txt";
String filePath = request.getSession().getServletContext().getRealPath("/") + fileName;
File file = new File(filePath);
HttpHeaders headers = new HttpHeaders();
headers.setContentDispositionFormData("attachment", fileName);
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file), headers, HttpStatus.CREATED);
}
```
以上代码实现了基于SSM框架的文件上传和下载功能。其中,文件上传使用了MultipartFile,文件下载使用了ResponseEntity。需要注意的是,文件下载时需要设置响应头信息,以便浏览器正确处理下载文件。
阅读全文