尝试从我的局域网中的NAS服务器检索目录列表

时间:2015-05-14 12:21:48

标签: ios swift directory server nas

我是swift的新手,我试图找出如何从NAS服务器检索目录列表到我的应用程序。 NAS服务器,MAC和iPAD都在我的局域网中。

我正在搜索确切的问题,但找不到任何提示,我几天都在努力。

我厌倦了使用NSFileManger和enumeratorAtURL但是当我将URL更改为本地NAS的URL时,我无法检索任何值。我总是得到:

无法完成操作。 (可可错误260。)

仅访问设备目录。

这是我使用的相关代码段:

        var fileManger = NSFileManager()
        var keys = [NSURLIsDirectoryKey]

        let url:NSURL = NSURL(string: "http://192.168.178.55/photos/")!

        var handler = {
            (url:NSURL!,error:NSError!) -> Bool in
            println(error.localizedDescription)
            println(url.absoluteString)
            return true
        }

        var enumarator = fileManger.enumeratorAtURL(
            url, includingPropertiesForKeys:
            keys, options: NSDirectoryEnumerationOptions(),
            errorHandler:handler)

有什么想法可以解决这个问题吗?

此致 米格尔

1 个答案:

答案 0 :(得分:1)

NSFileManager无法处理HTTP。它旨在使用file:个网址。如果您的NAS只是通过HTTP呈现其文件系统的只读视图,那么您需要使用HTTP请求,主要是migration guide。如何确定文件和目录的属性取决于NAS如何公开该信息。

如果您的NAS正在暴露WebDAV,那么您将需要一个WebDAV客户端。有关示例,请参阅NSURLSessionConnectionKit(ConnectionKit使用)。