我是斯威夫特的新手,我试着找出如何从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)有什么办法解决这个问题吗?
问候米格尔
发布于 2015-05-14 12:35:47
NSFileManager不处理HTTP。它被设计为与file: URL一起工作。如果NAS只是通过HTTP呈现其文件系统的只读视图,那么您将需要使用HTTP请求,主要是使用NSURLSession。如何确定文件和目录的属性取决于NAS如何公开该信息。
如果您的NAS公开了WebDAV,那么您将需要一个WebDAV客户机。有关一些示例,请参阅ConnectionKit和DAVKit ( ConnectionKit使用的)。
https://stackoverflow.com/questions/30237280
复制相似问题