真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaWeb項(xiàng)目中怎么實(shí)現(xiàn)一個(gè)文件壓縮下載功能-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)JavaWeb項(xiàng)目中怎么實(shí)現(xiàn)一個(gè)文件壓縮下載功能,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

沅江ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

實(shí)現(xiàn)思路有兩種:

一是將所有文件先打包壓縮為一個(gè)文件,然后下載這個(gè)壓縮包,

二是一邊壓縮一邊下載,將多個(gè)文件逐一寫入到壓縮文件中。

代碼實(shí)現(xiàn):

FileBean

public class FileBean implements Serializable { 
  private Integer fileId;// 主鍵 
  private String filePath;// 文件保存路徑 
  private String fileName;// 文件保存名稱 
  public FileBean() { 
  } 
  public Integer getFileId() { 
    return fileId; 
  } 
  public void setFileId(Integer fileId) { 
    this.fileId = fileId; 
  } 
  public String getFilePath() { 
    return filePath; 
  } 
  public void setFilePath(String filePath) { 
    this.filePath = filePath; 
  } 
  public String getFileName() { 
    return fileName; 
  } 
  public void setFileName(String fileName) { 
    this.fileName = fileName; 
  } 
}

控制層:

@RequestMapping(value = "/download", method = RequestMethod.GET) 
  public String download(String id, HttpServletRequest request, 
      HttpServletResponse response) throws IOException { 
    String str = ""; 
    if (id != null && id.length() != 0) { 
      int index = id.indexOf("="); 
      str = id.substring(index + 1); 
      String[] ids = str.split(","); 
      ArrayList fileList = new ArrayList(); 
      for (int i = 0; i < ids.length; i++) {// 根據(jù)id查找genericFileUpload,得到文件路徑以及文件名 
        GenericFileUpload genericFileUpload = new GenericFileUpload(); 
        genericFileUpload = genericFileUploadService.find(Long.parseLong(ids[i])); 
        FileBean file = new FileBean(); 
        file.setFileName(genericFileUpload.getFileName()); 
        file.setFilePath(genericFileUpload.getFilePath()); 
        fileList.add(file); 
      } 
      //設(shè)置壓縮包的名字 
      //解決不同瀏覽器壓縮包名字含有中文時(shí)亂碼的問題 
      String zipName = "download.zip"; 
      response.setContentType("APPLICATION/OCTET-STREAM"); 
      response.setHeader("Content-Disposition", "attachment; filename="+ zipName); 
      //設(shè)置壓縮流:直接寫入response,實(shí)現(xiàn)邊壓縮邊下載 
      ZipOutputStream zipos =null; 
      try{ 
        zipos=new ZipOutputStream(new BufferedOutputStream(response.getOutputStream())); 
        zipos.setMethod(ZipOutputStream.DEFLATED);//設(shè)置壓縮方法  
      }catch(Exception e){ 
        e.printStackTrace(); 
      } 
      DataOutputStream os=null; 
      //循環(huán)將文件寫入壓縮流 
      for(int i=0;i

以上就是JavaWeb項(xiàng)目中怎么實(shí)現(xiàn)一個(gè)文件壓縮下載功能,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當(dāng)前名稱:JavaWeb項(xiàng)目中怎么實(shí)現(xiàn)一個(gè)文件壓縮下載功能-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://weahome.cn/article/ccpsph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部