springmvc上传下载实例
时间: 2024-04-23 14:21:11 浏览: 7
Spring MVC是一个基于Java的开源框架,用于构建Web应用程序。它提供了一种模型-视图-控制器(MVC)的架构模式,用于将应用程序的不同部分分离开来,以实现更好的可维护性和可扩展性。
下面是一个简单的Spring MVC上传下载的实例:
1. 配置文件:
首先,在Spring MVC的配置文件中添加以下配置:
```xml
<!-- 配置文件上传 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10485760"/> <!-- 设置最大上传文件大小为10MB -->
</bean>
```
2. 控制器类:
创建一个控制器类,用于处理上传和下载请求。以下是一个示例:
```java
@Controller
public class FileController {
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public String uploadFile(@RequestParam("file") MultipartFile file) {
// 处理文件上传逻辑
if (!file.isEmpty()) {
try {
byte[] bytes = file.getBytes();
// 保存文件到服务器或者其他操作
return "redirect:/success"; // 上传成功后跳转到成功页面
} catch (IOException e) {
e.printStackTrace();
}
}
return "redirect:/error"; // 上传失败后跳转到错误页面
}
@RequestMapping(value = "/download", method = RequestMethod.GET)
public ResponseEntity<Resource> downloadFile() {
// 处理文件下载逻辑
// 构建文件资源对象
Resource fileResource = new FileSystemResource("path/to/file");
// 设置响应头
HttpHeaders headers = new HttpHeaders();
headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=file.txt");
// 返回文件资源和响应头
return ResponseEntity.ok()
.headers(headers)
.contentLength(fileResource.contentLength())
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.body(fileResource);
}
}
```
3. 前端页面:
在前端页面中添加上传和下载的表单和按钮。以下是一个简单的示例:
```html
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="上传" />
</form>
<a href="/download">下载文件</a>
```
这是一个简单的Spring MVC上传下载的实例。你可以根据实际需求进行修改和扩展。