2013-08-20 90 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); 
     }; 
    } 
相關問題