SpringMVC上传功能

本文介绍了使用SpringMVC实现文件上传与回显的详细步骤。包括在pom.xml和springmvc.xml添加配置,创建upload.jsp表单,在UploadController.java中编写上传逻辑,获取前端传输文件并保存到指定目录,最后实现上传成功后图片在页面的回显。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在pom.xml文件里面添加依赖

<!-- 上传组件 -->
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.5</version>
		</dependency>
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.3.2</version>
		</dependency>

update一下

2.在springmvc.xml文件中添加

<!-- upload -->
		<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
			<property name="maxUploadSize">
				<!-- 上传文件的大小 10M -->
				<value>10485760</value>
			</property>
		</bean>

3.新建upload.jsp文件,在里面写一个表单,然后上传的框input type为file ,再加多一个提交按钮,上传的表单必须为post请求,并且设置enctype=“multipart/form-data”,在action上写上请求地址
在这里插入图片描述
下面就开始上传文件的逻辑了-------首先要获取前端传输的文件–
4.新建UploadController.java文件,在里面添加上传逻辑,定义upload方法添加上注解等,使用springmvc已经封装好了的上传文件的类
在这里插入图片描述
5.在上面这个文件中添加以下重要代码
file.getOriginalFilename();//文件名称因为保存文件的时候使用的,文件名称
request.getServletContext().getRealPath("/");//项目路径,把文件保存到哪个目录上
String url=request.getScheme() + “?/” + request.getServerName() + “:” + request.getServerPort() + request.getContextPath();//项目URL,在页面上要显示的路径
在参数上添加上reques作用域参数
在这里插入图片描述
测试
在这里插入图片描述
在这里插入图片描述
可以获取到了这些内容
6.下面呢就到了保存------------------获取完前端传输的文件那就到了保存到指定的目录了
首先定义一个文件夹,用if语句判断这个文件夹存不存在如果不存在则新建,判断这个文件是否存在如果不存在也是新建
在这里插入图片描述
然后再用File流里面copy方法保存到指定路径
out=new FileOutputStream(path+path2+filename);
int result=FileCopyUtils.copy(file.getInputStream(),out);//将文件复制过去在这里插入图片描述
Ok然后测试一波,运行程序,然后运行成功,上传成功,然后再到下面这个路径下面的upload文件夹下面看是否有这个文件
在这里插入图片描述
在这里插入图片描述
7.回显-上传成功后我们需要在页面上面回显这张图片
首先将upload方法的返回值改为string类型,然后他有一个返回值,
在这里插入图片描述
返回值让它指向新建的show.jsp页面
在这里插入图片描述
先定一个图片路径参数设为空,原理就是我们把上传成功后的这个图片的路径放到返回值上面,它的路径就是项目路径+path2文件夹名称+文件名称
在这里插入图片描述
然后在一起存放到前面定义的map里面
在这里插入图片描述
再在前端页面show.jsp页面中接收
在这里插入图片描述
测试
在这里插入图片描述
在这里插入图片描述
就这样,豁以了!!!!!!!!!!!!!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值