2011-04-07 147 views
0

我需要從服務器下載許多照片和視頻。我正在使用cocoaasyncsocket庫,我可以通過壓縮所有內容並單擊一下按鈕下載壓縮文件來實現此目的。使用一個http請求下載文件並且不壓縮

但問題是壓縮文件花了很多時間。那麼,有什麼辦法可以下載所有的文件而不用壓縮它們。

+0

iPhone應用程序有很多照片和視頻啓動服務器通過WiFi共享。在客戶端的瀏覽器中打開一個html頁面。有下載單個文件的選項,這可以正常工作,因爲每個文件都會有一個帶有href設置的按鈕。還有一個選項可以下載所有圖像。但可以有500或更多的圖像(或視頻)。所以壓縮這是需要時間的。不會'tar'類似於zip。 – Sana 2011-04-07 08:37:15

+0

嘗試使用nsurlconnection文檔,它將使用完整的you.without不壓縮下載文件是浪費時間和內存...所以你下載文件,這是壓縮文件,並通過minizip類解壓縮。 – ajay 2011-04-07 09:01:29

+0

@AAAAAAAAA:但壓縮也浪費時間和內存/ CPU。 – Sana 2011-04-07 09:18:46

回答

1

薩那,我錯了,zip可以在流中使用:

zip -0 -r - . 

將開始遞歸從當前目錄中存儲文件和輸出發送到標準輸出。您可以捕獲標準輸出(請參閱popen(3))並立即將其發送給客戶端。

+0

謝謝sarnold。我需要檢查這個。我在理解和使用linux命令方面很慢。 – Sana 2011-04-07 09:17:23

1

當我創建zip檔案需要很長時間但我需要下載多個文件時,我遇到了類似的問題。

救了我是 http://pablotron.org/?cid=1568 郵編流的事情是創建在運行過程中的ZIP檔案,而正在下載的類。

大多數實時類創建存檔(等待下載啓動時),並且只有在完全創建後,纔會開始將存檔發送給您。該課程在創建時開始發送檔案,就像這樣您將節省您想要的時間。

+0

感謝您的回覆。但是,這是否意味着下載速度會變慢。此請求的迴應如何? – Sana 2011-04-07 09:15:38

+0

聽起來很完美。 :) – sarnold 2011-04-07 09:24:03