我的应用程序上有一个文件,我使用NSFileManager动态存储。当我遍历所有文件时,我可以看到文件的完整路径:
let fileManager:NSFileManager = NSFileManager.defaultManager()
for(var i:Int = 0; i < count; i++){
if fileManager.fileExistsAtPath(fileList[i]) != true {
print("File path: \(fileList[i])")
}
}
我得到了正确的路径,在这种情况下:/var/mobile/Containers/Data/Application/123321ABF/Documents/myFile.zip
直到这里都很好。但后来我想将它上传到FTP服务器,为此我需要将路径转换为NSURL,但这似乎不起作用,就像它找不到文件一样,我试过了:
let url = NSURL(string: fileList[i])
和
let url = NSURL(fileURLWithPath: fileList[i], isDirectory: false)
但我一直收到同样的错误:
Error Domain=NSCocoaErrorDomain Code=2 "(null)"
答案 0 :(得分:0)
请尝试以下代码:
let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let files = NSFileManager.defaultManager().enumeratorAtURL(documentsURL, includingPropertiesForKeys: nil, options: [], errorHandler: nil)
while let file = files?.nextObject() {
print("***")
let modFile = file as! NSURL
print("FILE: \(modFile)")
print("***")
}
如果我理解你错了,请随时纠正我!此致,Alex
答案 1 :(得分:0)
简单回答如下
let URL: NSURL = NSURL(string: stringofURL)! //replace stringofURL to Path
实施例
// just a string
var stringUrl = "/var/mobile/Containers/Data/Application/123321ABF/Documents/myFile.zip"
// convert path to NSURL
let URL: NSURL = NSURL(string: stringUrl)!
print (URL) // print url