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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。