1

我想在我的应用程序中添加一个 WebDAV 和 iDisk 界面,但是我在存储在服务器上的文件方面遇到了一些技术问题。“我如何使用 WebDAV 服务器||获取文件列表”这个问题的每个答案似乎都以“使用 PROPFIND 请求”这一短语结尾。我决定使用 WTClient 类,因为它们为我建立和终止到服务器的流并管理上传和下载,但这是 WTClient 失败的地方:它无法收集服务器上的文件列表(或者我似乎无法收集一份清单,不管你的船是什么)。它使用以下行放入 PROPFIND 请求:

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

然后它将结果收集为NSDictionary. 但是,WTClient 不是使用该字典来获取文件列表,而是使用它从字典中的 XML 收集错误代码信息(如果存在)。虽然有帮助,但它不是我想要的。如果有人对如何在 WebDAV 服务器上请求文件并将它们收集到NSDictionaryor中有最模糊的想法NSArray,将不胜感激。

4

1 回答 1

1

WTClient 的来源来看,您需要使用initWithLocalURLpreparePropertiesConnection/或requestProperties实现您想要的。

OTOH 似乎从源代码中的一些评论来看,尤其是。周围的功能PROPFIND(这确实是从 WebDAV 获取目录列表所必需的)尚未完全实现......所以这可能不适用于您的用例。

更新

是一个 WebDAV 客户端库,包括已在 iOS 上成功使用的源代码(几乎没有修改)。它包括一个实现PROPFIND和其他特定于 WebDAV 的 http 动词......对我来说,这似乎对你来说是一个很好的起点。

于 2012-02-05T11:55:22.747 回答