OK,SpringMVC实现文件上传下载的全过程可以包含以下几个步骤:
OK,SpringMVC实现文件上传下载的全过程可以包含以下几个步骤:
- 添加MultipartResolver配置
在SpringMVC配置文件中,添加MultipartResolver配置,用于处理文件上传的请求。示例代码如下:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"/>
<property name="maxUploadSize" value="10485760"/>
<property name="maxInMemorySize" value="4096"/>
</bean>
- 编写上传文件的表单页面
在表单页面中,添加文件上传的表单字段。示例代码如下:
<form method="post" enctype="multipart/form-data" action="/upload">
<input type="file" name="file"/>
<input type="submit" value="上传"/>
</form>
- 实现文件上传的Controller方法
在Controller中,添加文件上传的方法。该方法中通过MultipartFile对象获取到上传的文件,并保存到指定的文件路径中。示例代码如下:
@RequestMapping(value = "/upload", method = RequestMethod.POST)
@ResponseBody
public String upload(@RequestParam("file") MultipartFile file) throws IOException {
if (!file.isEmpty()) {
String fileName = file.getOriginalFilename();
String filePath = "/tmp/" + fileName;
BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(filePath));
outputStream.write(file.getBytes());
outputStream.flush();
outputStream.close();
return "文件上传成功:" + filePath;
} else {
return "文件上传失败";
}
}
- 实现文件下载的Controller方法
在Controller中,添加文件下载的方法。该方法根据文件路径读取文件,并将文件内容输出到Response中,实现文件下载功能。示例代码如下:
@RequestMapping("/download")
public void download(HttpServletResponse response) throws IOException {
String filePath = "/tmp/test.txt";
File file = new File(filePath);
if (file.exists()) {
response.setContentType("application/octet-stream");
response.setContentLength((int) file.length());
response.setHeader("Content-Disposition", "attachment; filename=" + file.getName());
BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(file));
BufferedOutputStream outputStream = new BufferedOutputStream(response.getOutputStream());
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, len);
}
inputStream.close();
outputStream.flush();
outputStream.close();
}
}
以上是完整的SpringMVC实现文件上传下载的全过程。具体实现方式可以根据项目的具体情况进行修改和优化。
沃梦达教程
本文标题为:SpringMVC实现文件上传下载的全过程
基础教程推荐
猜你喜欢
- linux如何获取占用CPU最高的线程id?(java项目) 2023-09-01
- 解析HikariCP一百行代码轻松掌握多线程 2023-06-02
- JavaMail入门教程之解析邮件(5) 2024-02-25
- maven插件spring-boot-starter-tomcat的使用方式 2023-02-27
- Springcloud Config配置中心使用与相关介绍 2023-05-18
- Mybatis Plus插入数据后获取新数据id值的踩坑记录 2023-03-31
- jsp从数据库获取数据填充下拉框实现二级联动菜单的方法 2023-08-03
- Java实战员工绩效管理系统的实现流程 2023-08-10
- Java JSON处理库之Gson的用法详解 2023-07-15
- 利用Mybatis Plus实现一个SQL拦截器 2023-07-14