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

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

JavaWeb項(xiàng)目中怎么實(shí)現(xiàn)一個(gè)文件壓縮下載功能

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

創(chuàng)新互聯(lián)公司專注于企業(yè)營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、睢縣網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、成都商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為睢縣等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

實(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è)資訊頻道。


標(biāo)題名稱:JavaWeb項(xiàng)目中怎么實(shí)現(xiàn)一個(gè)文件壓縮下載功能
標(biāo)題路徑:http://weahome.cn/article/pipied.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部