SharpZipLib 壓縮ZIP導出

 1          var uploadSectionDir = Path.Combine("Upload", "QQ", DateTime.Now.ToString("yyyyMMdd"));
 2             string uploadDir = Path.Combine(HttpRuntime.AppDomainAppPath, uploadSectionDir);
 3             if (!Directory.Exists(uploadDir))
 4             {
 5                 Directory.CreateDirectory(uploadDir);
 6             }
 7             string fileName ="test.zip";
 8             string filePath = Path.Combine(uploadDir, fileName);
 9 
10             //生成的壓縮文件為test.zip
11             using (FileStream fsOut = System.IO.File.Create(filePath))
12             {
13                 //ZipOutputStream類的構造函數需要一個流,文件流、內存流都可以,壓縮后的內容會寫入到這個流中。
14                 using (ZipOutputStream zipStream = new ZipOutputStream(fsOut))
15                 {
16                     MemoryStream ws = new AirBillBLL().ExportToExcel(ladingNoList);
17                     string entryName = string.Concat(string.Format("{0:yyyyMMddHHmmssffff}", DateTime.Now), ".xls");
18                     ZipEntry newEntry = new ZipEntry(entryName);
19                     newEntry.DateTime = DateTime.Now;
20                     newEntry.Size = ws.Length;
21 
22                     //把壓縮項的信息添加到ZipOutputStream中。
23                     zipStream.PutNextEntry(newEntry);
24                     byte[] buffer = new byte[4096];
25                     //把需要壓縮文件以文件流的方式復制到ZipOutputStream中。
26 
27                     StreamUtils.Copy(ws, zipStream, buffer);
28 
29                     zipStream.CloseEntry();
30                     zipStream.IsStreamOwner = false;
31                     zipStream.Finish();
32                     zipStream.Close();
33                 }
34             }
35 return File(filePath, "application/x-zip-compressed", string.Concat(string.Format("{0:yyyyMMddHHmmssffff}", DateTime.Now), ".zip"));

?

轉載于:https://www.cnblogs.com/LiuFengH/p/9862309.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/450892.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/450892.shtml
英文地址,請注明出處:http://en.pswp.cn/news/450892.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java動態調用c++庫

前言 最近在做一個通過java程序調用c動態語言庫,在網上百度,谷歌找了諸多例子,還是屢試不爽。經過一番折騰還是披荊斬棘,創出一條道路。希望分享給正在迷茫的朋友們... 使用的環境 spring boot gradle JNI介紹 JNI全拼是Java Nat…

如何刪除虛擬機上的操作系統、刪除新建的虛擬機

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 打開VMware,我安裝了三個虛擬系統,要對win98進行刪除,從磁盤上刪除~~ 2、雙擊你要刪除的系統&#xf…

什么是QoS技術

QoS(Quality of Service)是服務質量的簡稱。從傳統意義上來講,無非就是傳輸的帶寬、傳送的時延、數據的丟包率等,而提高服務質量無非也就是保證傳輸的帶寬,降低傳送的時延,降低數據的丟包率以及時延抖動等。…

一套完整的用戶增長系統架構

互聯網的世界里一切都是為了增長,靈光一現的創新可能會讓一個產品成功,但絕不可能長久。 在用戶增長的領域里,如何復用一套框架,找到最佳實踐的一條路徑,再配備一點運氣,去實現商業成功是我一直所探索的話題…

編譯性語言、解釋性語言和腳本語言

什么是編譯性語言、解釋性語言和腳本語言 計算機不能直接理解高級語言,只能直接理解機器語言,所以必須要把高級語言翻譯成機器語言,計算機才能值型高級語言編寫的程序。  翻譯的方式有兩種,一個是編譯,一個是解釋。…

對多租戶的理解

一、 多租戶定義 多租戶定義: 多租戶技術或稱多重租賃技術,簡稱SaaS,是一種軟件架構技術,是實現如何在多用戶環境下(此處的多用戶一般是面向企業用戶)共用相同的系統或程序組件,并且可確保各用…

查看VMware上虛擬機的 ip 地址

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 開啟虛擬機: 2.輸入賬號密碼登陸到虛擬機中 3. 選擇 xxx Home 右鍵---- Open in Terinal 進入命令行頁面 ----- 輸入命令…

Hibernate之表間關系

ManyToOne 多對一,是最常見的表間關系,對應關系數據庫中的外鍵關系。通常用于建立子實體和其父實體的關聯關系 Entity(name "Person") public static class Person {IdGeneratedValueprivate Long id;//Getters and setters are omitted for …

Python大神告訴你,學習Python應該讀哪些書!

關注頭條號,私信回復資料會有意外驚喜呦………………最后一張照片有資料呦。在傳統的Web開發之外的領域,Python開發人員的就業機會越來越多,無論你是初學者還是大神,現在正是投入到Python學習的好時機。一個IBM的博客文章報道了如…

腳本語言

腳本語言(Script language,scripting language,scripting programming language)是為了縮短傳統的編寫-編譯-鏈接-運行(edit-compile-link-run)過程而創建的計算機編程語言。此命名起源于一個腳本“screenp…

Java Agent

一、什么是 Java Agent ? 籠統地來講,Java Agent 是一個統稱,該功能是 Java 虛擬機提供的一整套后門。通過這套后門可以對虛擬機方方面面進行監控與分析。甚至干預虛擬機的運行。 Java Agent 又叫做 Java 探針,Java Agent 是在 …

JDK 1.8 官網下載地址(linux / windows)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 JDK 1.8 官網下載地址: JDK 1.8 官網下載地址(linuxwindows) 上面連接可以直接點擊,連接…

跟著太白老師學python day11 可迭代對象和迭代器

如果對象的屬性中有__iter__屬性就說明是可迭代的,容器類的數據類型都是可迭代對象 如果對象的屬性中既有__iter__屬性也有__next__屬性,就說明這個對象是迭代器 如何判斷一個函數是不是可迭代的,是不是迭代器 方法一 s 123 print(__iter__ …

攪局者奇虎360:特供機背后的周式隱憂

摘要:從未涉足制造,將來也“絕不參與制造”的360,卻聲稱要進軍智能手機。從未涉足制造,將來也“絕不參與制造”的360,卻聲稱要進軍智能手機。 5月4日晚間,“長達半年的思考”后,奇虎360董事長周…

數據結構基礎入門知識

數據結構基礎入門知識 ------ 數據結構:理解和練習《異類-不一樣的成功啟示錄》IP/26 192IP/25 128IP/24192.12864 3216 2 1 NTP:時間同步服務器高手都是最仔細的,嚴謹的 telnet 查看某個端口是否可用,是否是開啟狀態的要有探索冒險的精神 --…

Linux下安裝jdk8步驟詳述

見:https://www.cnblogs.com/shihaiming/p/5809553.html 0.下載jdk8 登錄網址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 選擇對應jdk版本下載。(可在Windows下下載完成后,通過文件夾…

用Kotlin擼一個圖片壓縮插件-實戰篇(三)

簡述: 由于個人原因,已經有很長一段時間沒有寫過文章,有句話是那么說的只要開始就不會太晚,所以我們開始《用Kotlin擼一個圖片壓縮插件》系列文章最后一篇實戰篇。實際上我已經把源碼發布到了GitHub,代碼很簡單。有了前兩篇文章的…

后端進階技術總結

1、SDK與API的區別? SDK是Software Development Kit的縮寫,即軟件開發工具包。可以把SDK想象成一個虛擬的程序包,在這個程序包中有一份做好的軟件功能,這份程序包幾乎是全封閉的,通過接口聯通外界,相應的接…

最簡容器化動手小實踐——再戰flappybird

《Flappy Bird》是一名越南開發者所開發的游戲,這款游戲的主要內容是幫助一只小鳥穿越水管的層層阻礙,玩家所需要的只是點擊屏幕從而調整小鳥的高度。而令這款游戲與眾不同的是,這款游戲的難度夸張的驚人,大多數玩家在初次上手之后…

為什么電影電視幀率不取整數?

英文名稱:time code時間碼概念時間碼(time code)是攝像機在記錄圖像信號的時候,針對每一幅圖像記錄的唯一的時間編碼。一種應用于流的數字信號。該信號為視頻中的每個幀都分配一個數字,用以表示小時、分鐘、秒鐘和幀數…