SpringMVC学习之上传文件

使用springmvc提供的文件上传方式:
首先需要在springmvc.xml中配置文件解析器:

 <!-- 配置文件解析器 -->
   		<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
   			<property name="maxUploadSize" value="10485760"></property>
   		</bean>

注意:文件解析器的id是制定了的:multipartResolver,不能填其他值。
maxUploadSize是文件上传最大值。
jsp页面:

 <form action="file/upload2" method="post" enctype="multipart/form-data">
    	<input type="file" name="upload" ><br>
    	<input type="submit" value="上传">
    </form>

form表单的enctype属性填:multipart/form-data

方法:

@RequestMapping("/upload2")
	public String upload2(HttpServletRequest request,MultipartFile upload) throws Exception, IOException{
		
				//上传的位置
				String path = request.getSession().getServletContext().getRealPath("/uploads/");
				File file=new File(path);
				if(!file.exists()){//如果目录不存在就创建
					file.mkdirs();
				}
				//获取上传文件的名称
				String filename=upload.getOriginalFilename();
				//使文件名唯一
				String string = UUID.randomUUID().toString();//生成随机字符串
				filename=string+filename;
				//上传文件
				upload.transferTo(new File(path, filename));
				
		return "success";
	}

MultipartFile类型的参数名要与上面jsp表单中input type=“file” name=“upload"的id一致
如果在获取绝对路径时(上面的/uploads/)后面加了”/",那么在使文件名唯一时拼接字符串就不需要在filename前拼接+"/"+

String path = request.getSession().getServletContext().getRealPath("/uploads/");
filename=string+filename;

效果:
在这里插入图片描述
点击上传跳转页面:
在这里插入图片描述
最后找到上传的图片(附路径)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值