微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

springboot单文件下载和多文件压缩zip下载的实现

这篇文章主要介绍了springboot单文件下载和多文件压缩zip下载的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

文件下载

//下载单个文件 public void downloadFile(HttpServletResponse response){ String path = "D:testce1.txt" File file = new File(path); if(file.exists()){ String fileName = file.getName(); response.setHeader("Content-disposition", "attachment;fileName=" + fileName); download(response,file); } } public void download(HttpServletResponse response,File file){ FileInputStream fis = null; BufferedInputStream bis = null; OutputStream os = null; try { os = response.getoutputStream(); fis = new FileInputStream(file); bis = new BufferedInputStream(fis); byte[] buffer = new byte[bis.available()]; int i = bis.read(buffer); while(i != -1){ os.write(buffer, 0, i); i = bis.read(buffer); } } catch (Exception e) { e.printstacktrace(); } try { bis.close(); fis.close(); os.close(); } catch (IOException e) { e.printstacktrace(); } }

文件压缩下载

//多个文件,压缩成zip后下载 public void downloadMoreFile(HttpServletResponse response) { String test1= "D:testce1.txt"; String test2= "D:testce2.txt"; File tfile= new File(test1); File cfile= new File(test2); List files = new ArrayList(); files.add(tfile); files.add(cfile); if (tfile.exists() && cfile.exists()) { String zipTmp = "D:testce1.zip"; zipd(zipTmp,files,response); } } public void zipd(String zipTmp,List files,HttpServletResponse response){ File zipTmpFile = new File(zipTmp); try { if (zipTmpFile.exists()) { zipTmpFile.delete(); } zipTmpFile.createNewFile(); response.reset(); // 创建文件输出流 FileOutputStream fous = new FileOutputStream(zipTmpFile); ZipOutputStream zipOut = new ZipOutputStream(fous); zipFile(files, zipOut); zipOut.close(); fous.close(); downloadZip(zipTmpFile, response); } catch (IOException e) { e.printstacktrace(); } } //files打成压缩包 public void zipFile(List files, ZipOutputStream outputStream) { int size = files.size(); for (int i = 0; i

到此这篇关于springboot单文件下载和多文件压缩zip下载的实现的文章就介绍到这了,更多相关springboot文件压缩下载内容搜索编程之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程之家!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐