IT技術(shù)

.Net文件在線(xiàn)壓縮的實(shí)現(xiàn)
作者:
來(lái)源: 本站
發(fā)布日期: 2018/3/16 9:53:39
點(diǎn)擊量: 3753次
【 字體:
背景顏色:

  .Net文件在線(xiàn)壓縮的實(shí)現(xiàn)

1.需下載和引用文件“ICSharpCode.SharpZipLib.dll“。下載地址“https://download.csdn.net/download/njxiaogui/8251031”。


2.壓縮代碼的方法

     /// <summary>  
    /// 壓縮單個(gè)文件  
    /// </summary>  
    /// <param name="fileToZip">要壓縮的文件</param>  
    /// <param name="zipedFile">壓縮后的文件全名</param>  
    /// <param name="compressionLevel">壓縮程度,范圍0-9,數(shù)值越大,壓縮程序越高</param>  
    /// <param name="blockSize">分塊大小</param>  
    public void ZipFile(string fileToZip, string zipedFile, int compressionLevel, int blockSize)
    {
        if (!System.IO.File.Exists(fileToZip))//如果文件沒(méi)有找到,則報(bào)錯(cuò)  
        {
            throw new FileNotFoundException("The specified file " + fileToZip + " could not be found. Zipping aborderd");
        }


        FileStream streamToZip = new FileStream(fileToZip, FileMode.Open, FileAccess.Read);
        FileStream zipFile = File.Create(zipedFile);
        ZipOutputStream zipStream = new ZipOutputStream(zipFile);
        ZipEntry zipEntry = new ZipEntry(fileToZip);
        zipStream.PutNextEntry(zipEntry);
        zipStream.SetLevel(compressionLevel);
        byte[] buffer = new byte[blockSize];
        int size = streamToZip.Read(buffer, 0, buffer.Length);
        zipStream.Write(buffer, 0, size);


        try
        {
            while (size < streamToZip.Length)
            {
                int sizeRead = streamToZip.Read(buffer, 0, buffer.Length);
                zipStream.Write(buffer, 0, sizeRead);
                size += sizeRead;
            }
        }
        catch (Exception ex)
        {
            GC.Collect();
            throw ex;
        }


        zipStream.Finish();
        zipStream.Close();
        streamToZip.Close();
        GC.Collect();
    }

3.調(diào)用方法。

                ZipUtility zip = new ZipUtility();
                zip.ZipFile(vidurl, vidrar, 5, 10);
            // 該方法中 vidurl 為 要壓縮的絕對(duì)路徑

           // vidrar 為壓縮文件所存放的路勁


 4.總結(jié),該方法可以實(shí)現(xiàn)文件的在線(xiàn)壓縮,方便用戶(hù)下載不能直接下載的文件,比如視頻,音頻文件等。   




掃一掃在手機(jī)打開(kāi)當(dāng)前頁(yè)

Contact

聯(lián)系我們

告訴我們您想要的吧!我們?yōu)楫?dāng)?shù)乜蛻?hù)提供專(zhuān)業(yè)、及時(shí)的服務(wù)
地址:云南省昆明市白云路368號(hào)
電話(huà):400-871-8716 (工作時(shí)間:09:00-18:00(周一至周五))
何總:23592693
李總:53815112
亚洲日韩在线a在线观看,欧美激情 在线观看,97色伦图片97综合影院,成人AV天堂一二三在线观看,欧美色吧视频在线观看,国产l精品国产亚洲区,久久综合亚洲图片,99久久国产综合精品1,久久AⅤ无码AV高潮AV喷吹,亚洲综合无码一区二区三区不卡
久久青青草原av免费观看| 国产三级a三级三级野外| 无码精品国产VA在线观看DVD| 欧美成人看片一区二区三区尤物 | 高清亚洲日韩欧洲不卡在线 | av天堂午夜精品一区二区三区| 亚洲欧美国产成人综合不卡| 久久久久久一本加勒比东京热| 国产精品狼人久久久久影院 | 日韩精品无码人成视频专区| 麻豆成人久久精品二区三区免费| 最新亚洲国产有精品| 中文亚洲欧美日韩无线码| 成在人线av无码免费看网站| 亚洲国产精品久久久久网站| 国产成人精品无码片区| 精品亚洲国产成人AV不卡| 国产亚洲一级精品久久久| 亚洲人成网站18禁止人| 婷婷国产天堂久久综合亚洲| 亚洲综合成人在线| 香蕉久久久久久av成人 | 99久久免费精品色老大| 色欲aⅴ亚洲情无码av| 自拍偷自拍亚洲精品第1页久| 99热精品久久只有精品30| 久久精品国产一区二区蜜芽| jlzzjlzz全部女高潮| 看免费人成va视频全| 亚洲国产成人综合一区二区三区| 国产精品无码无片在线观看3D| 国产成人三级在线视频网站观看| 国内精品久久久久久无码不卡| 国产三级在线播放不卡| 亚洲人成77777在线播放网站| 亚洲成av人片在线播放无码| 久久99热不卡精品免费观看| 中文亚洲欧美日韩无线码| 亚洲国产成人无码影片在线播放 | 亚洲日韩乱码中文无码蜜桃臀| 加勒比AV男人的天堂|