2013-08-20 65 views
0

我有要求将多个图像文件上传到FTP。压缩很多文件并将它们上传到FTP

这里实现的主要目标是性能,速度为

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

有没有更好的方法?

什么是像1000图像一样压缩的最佳方式?我应该使用.net inbuild机制还是一些外部库?

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

+2

图像通常已经被压缩,所以他们荏苒会做什么,但浪费时间。为什么不上传它们? – Artless

+1

上传每个文件到FTP将导致这个每个文件创建在FTp .. – James

+1

@詹姆斯,你有什么尝试。我认为只要将图像添加到带有“store”选项的档案中就足够了。 [SharpZipLib](http://www.icsharpcode.net/OpenSource/SharpZipLib/)提供了多线程的方法来压缩文件,因为我知道 –

回答

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); 
     }; 
    } 
相关问题