1.需下载和引用文件“ICSharpCode.SharpZipLib.dll“。下载地址“https://download.csdn.net/download/njxiaogui/8251031”。
	
 
2.压缩代码的方法
	     /// <summary>  
    /// 压缩单个文件  
    /// </summary>  
    /// <param name="fileToZip">要压缩的文件</param>  
    /// <param name="zipedFile">压缩后的文件全名</param>  
    /// <param name="compressionLevel">压缩程度,范围0-9,数值越大,压缩程序越高</param>  
    /// <param name="blockSize">分块大小</param>  
    public void ZipFile(string fileToZip, string zipedFile, int compressionLevel, int blockSize)
    {
        if (!System.IO.File.Exists(fileToZip))//如果文件没有找到,则报错  
        {
            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.调用方法。
	                ZipUtility zip = new ZipUtility();
                zip.ZipFile(vidurl, vidrar, 5, 10);
            // 该方法中 vidurl 为 要压缩的绝对路径
 
// vidrar 为压缩文件所存放的路劲
	
 
4.总结,该方法可以实现文件的在线压缩,方便用户下载不能直接下载的文件,比如视频,音频文件等。