首页IT科技springmvc报错(学习笔记——SpringMVC文件上传与下载)

springmvc报错(学习笔记——SpringMVC文件上传与下载)

时间2025-06-20 16:03:15分类IT科技浏览4639
导读:2023-01-21...

2023-01-21

一            、文件下载

1                   、实现文件下载步骤

(1)准备文件下载相关步骤

(2)将ResponseEntity<T>对象             ,作为方法返回值

(3)为ResponseEntity<T>对象                  ,设置三个参数

2      、示例代码

二      、文件上传

1                   、实现文件上传思路

(1)准备工作

①准备文件上传页面

表单的提交方式必须为POST

设置表单enctype属性值为multipart/form-data

表单中包含文件域(type=file)

②导入jar包

<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.4</version> </dependency>

③装配解析器:CommonsMultipartResolver

<!-- 装配CommonsMultipartResolver--> <bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver" id="multipartResolver"> <!-- 设置字符集--> <property name="defaultEncoding" value="utf-8"></property> <!-- 设置总文件的大小--> <property name="maxUploadSize" value="102400"></property> </bean>

(2)实现步骤

①将type=file(文件域)直接入参:MultipartFile类型即可

②获取文件名称

@Controller public class FileUploadController { @RequestMapping("/fileUploadController") public String fileUploadController(String username, MultipartFile updateFile, HttpSession session){ try { //获取文件名称 String filename = updateFile.getOriginalFilename(); //获取上传路径 String realPath = session.getServletContext().getRealPath("/WEB-INF/upload"); //判断上传路径是否存在(如不存在      ,创建) File filePath = new File(realPath); if(!filePath.exists()){ filePath.mkdirs(); } //实现文件上传 //File.separator:是系统默认的分隔符 File uFile = new File(filePath+File.separator+filename); updateFile.transferTo(uFile); } catch (IOException e) { e.printStackTrace(); } return "success"; } }

三             、文件上传优化

1      、允许同名文件上传

(1)使用UUID解决文件名重复问题

UUID是一个32位16进制随机数(特点:唯一性)

//实现文件上传 //解决重复文件名上传的方式 String uuid = UUID.randomUUID().toString().replace("-", ""); //File.separator:是系统默认的分隔符 File uFile = new File(filePath+File.separator+uuid+filename);

(2)使用时间戳解决文件名重复问题

System.currentTimeMillis()

2                  、设置上传文件大小上限

在装配CommonsMultipartResolver时             ,设置上传文件的上限

<!-- 装配CommonsMultipartResolver--> <bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver" id="multipartResolver"> <!-- 设置字符集--> <property name="defaultEncoding" value="utf-8"></property> <!-- 设置总文件的大小--> <property name="maxUploadSize" value="102400"></property> </bean>
声明:本站所有文章                   ,如无特殊说明或标注      ,均为本站原创发布            。任何个人或组织      ,在未征得本站同意时                   ,禁止复制             、盗用、采集                  、发布本站内容到任何网站                   、书籍等各类媒体平台                   。如若本站内容侵犯了原著者的合法权益            ,可联系我们进行处理      。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
php架构师是做什么的工作(php架构师是做什么的)