ssm注解方式上传以及下载

上传

步骤1,添加需要的common-fileupload,common-io包

步骤2,创建一个上传文件的页面

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

步骤3,完成上传的Handler步骤4,设置文件上传解析器

@RequestMapping("/upload")
	public String upload(MultipartFile uploadFile,HttpSession session,Model model) throws Exception, IOException{
		System.err.println("开始上传");
		//保存路径
		String savePath = session.getServletContext().getRealPath("/image/");
		
		//获取文件姓名
		String filename = uploadFile.getOriginalFilename();
		if(savePath!=null){
			File file = new File(savePath);
			//判断目录是否存在
			if(!file.exists()){
				//创建目录
				file.mkdirs();
			}
		}
		uploadFile.transferTo(new File(savePath,filename));
		model.addAttribute("url","image/"+filename);
		System.out.println("上传完成");
		return "uploadfile";
	}

 步骤4,设置文件上传解析器

<!-- 开启注解 -->
<mvc:annotation-driven/>
<!-- 注解扫描包 -->
	 <context:component-scan base-package="com.mohan.upload"/>
<!-- 配置上传文件解析器 -->
	 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" >
		<property name="maxUploadSize">
			<value>5242880</value>
		</property>
	</bean> 

提示:如果web.xml 中<url-pattern>/</url-pattern> 配置用的是/的话 是不支持静态文件的 需要在 springmvc配置

<!-- 设置静态访问资源 -->
	<mvc:resources location="/image/" mapping="/image/**"/>

下载

@RequestMapping("/download")
	public ResponseEntity<byte[]> download() throws IOException{
		
		//文件的绝对路径
		String path ="D:/javaWorkSpace/.metadata/.me_tcat7/webapps/SpringMVC/image/MVC.jpg";
		//创建一个文件下载对象
		File downloadFile = new File(path);
		//设置下载属性
		HttpHeaders headers = new HttpHeaders();
		//设置处理内容的数据形式
		headers.setContentDispositionFormData("attachment","mohan.jpg");
		//以流的形式返回
		headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
		//下载
		return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(downloadFile),headers,HttpStatus.CREATED);
	}
	

 

 以上形式为静态上传下载 使用只需改为实体类参数。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值