压缩许多文件并将其上传到FTP

时间:2013-08-20 07:24:35

标签: c# asp.net .net performance optimization

我需要将多个图像文件上传到FTP。

此处实现的主要目标是性能,速度。

我的方法是,在客户端压缩所有文件,ftp上传它们并将它们解压缩回服务器。

有没有更好的方法?

什么是像1000张图片一样拉链的最佳方法?我应该使用.net inbuild机制还是一些外部库?

注意:我有VS 2012开发环境。

1 个答案:

答案 0 :(得分:1)

Zip it on the client结束,FTP和unzip them on the server在性能和速度方面是最好的方法。向服务器发送1000多个文件将不是一个理想的解决方案。

最好使用开源库来压缩文件。您可以使用Ionic Zip。您可以使用公开的API轻松压缩和解压缩文件。

代码示例

压缩文件

 using (ZipFile zip = new ZipFile())
 {
     // add this map file into the "images" directory in the zip archive
     zip.AddFile("c:\\images\\personal\\7440-N49th.png", "images");

     zip.Save("MyZipFile.zip");
 }

解压缩文件

    public void ExtractZipFile(string fullZipFileName, string extractPath)
    {

        using (ZipFile zip = ZipFile.Read(fullZipFileName))
        {
            //Extract the zip file
            zip.ExtractAll(extractPath);
        };
    }