springmvc模式的上传和下载实现解析
这篇文章主要介绍了springmvc模式下的上传和下载实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
此处上传的功能依旧是采用表格上传。文件格式依旧是
后台则是
@RequestMapping("/upload")
publicStringupload(MultipartFilefile,StringuserName,HttpServletRequestrequest)throwsIOException{
Stringfilename=file.getOriginalFilename();
Stringsuffix=filename.substring(filename.lastIndexOf("."));
if(suffix.equalsIgnoreCase(".jpg")){
Stringuuid=UUID.randomUUID().toString();
//FileUtils.copyInputStreamToFile(file.getInputStream(),newFile("E://"+uuid+suffix));
file.transferTo(newFile("D://"+System.currentTimeMillis()+suffix));//位置存储在硬盘上
//file.transferTo(newFile(request.getServletContext().getRealPath("/")+"static/userImages/"+file));
//存储在项目里的目录下
request.setAttribute("result","上传成功");
return"/result.jsp";
}else{
request.setAttribute("result","上传失败");
return"/result.jsp";
}
}
相比之前的传统式上传,springmvc模式下封装了许多繁琐的过程,通过transferTo即可实现一些相应的操作
而下载也是相应的简化了许多
@RequestMapping("/download")
publicvoiddownload(Stringfilename,HttpServletResponseresponse,HttpServletRequestrequest)throwsIOException{
response.setHeader("content-disposition","attachment;filename="+filename);
ServletOutputStreamoutputStream=response.getOutputStream();
Stringpath=request.getServletContext().getRealPath("images");
Filefile=newFile(path,filename);
byte[]bytes=FileUtils.readFileToByteArray(file);
outputStream.write(bytes);
outputStream.close();
}
一般框架会省去许多重复性的工作,但底层的基本原理还是要清楚过程
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。