2012-02-01 60 views
1

我想爲我的應用程序添加WebDAV和iDisk界面,但是我在存儲在服務器上的文件存在一些技術問題。問題「How do I use a WebDAV server || to get a list of files」的每個答案似乎都以「使用PROPFIND請求」一語結束。我已決定使用WTClient類,因爲它們爲我建立和終止了到​​服務器的流並管理上傳和下載,但這裏是WTClient失敗的地方:它無法收集服務器上的文件列表(或者我似乎無法收集清單,不管漂浮在你的船上)。它把與這行的PROPFIND請求:PROPFIND WTClient中的請求

WTHTTPConnection *connection = [[WTHTTPConnection alloc] initWithDestination:remoteURL 
            protocol:@"PROPFIND"]; 

它然後採集結果作爲NSDictionary。但是,WTClient不是使用該字典獲取文件列表,而是使用它從詞典中的XML中收集錯誤代碼信息(如果存在)。雖然有幫助,但這不是我要找的。如果任何人甚至有如何在WebDAV服務器上請求文件並將它們收集到NSDictionaryNSArray中的最朦朧想法,將不勝感激。

回答

1

source of WTClient來看,你需要使用initWithLocalURLpreparePropertiesConnection和/或requestProperties達到你想要的東西。

OTOH它似乎從源頭的一些意見,特別是。大約PROPFIND(這確實是從WebDAV獲取目錄列表所必需的)的功能尚未完全實現......所以它可能不適合您的用例。

UPDATE

This是WebDAV的客戶端庫包括已被成功地用於在iOS(用很少的修改)源。它包括一個PROPFIND和其他WebDAV特定的http動詞的實現...對我來說,這似乎是一個很好的起點。

+0

ASIHTTPRequest是否完全實現了PROPFIND呢? – CodaFi 2012-02-05 17:52:36

+0

@CodaFi'ASIHTTPRequest'是一個不錯的HTTP實現,但它不知道任何有關WebDAV/PROPFIND的信息......也許你可以用它來編寫自己的WebDAV客戶端實現... – Yahia 2012-02-05 17:57:54

+0

也許,但我一直谷歌搜索和似乎有很多人上傳和下載文件到ASD的WebDAV和iDisk服務器的成功案例,我正在尋找更多的頁面式的實現,如列表中所示。 – CodaFi 2012-02-05 18:00:03

相關問題