【发布时间】:2015-12-17 13:32:04
【问题描述】:
我正在使用框架 RebekkaTouch 将文件从我的 Swift 应用程序上传到 FTP 服务器,就像:
if let URL = NSBundle.mainBundle().URLForResource("myFile", withExtension: "txt") {
let path = "myFile.txt"
session.upload(URL, path: path) {
(result, error) -> Void in
print("result:\n\(result), error: \(error)\n\n")
}
}
这非常适合我通过 Xcode 手动上传的文件。但是我似乎无法找到我在Documents目录上动态下载并本地存储的文件的文件路径。
说,我知道我有这个文件:/private/var/mobile/Containers/Data/Application/3D92EA55-01E0/Documents/SomeFile.txt
我知道它在那里,因为我在循环通过 NSFileManager.defaultManager() 后获得了路径,但我无法将其转换为 NSURL,所以我可以上传它。
有什么想法吗?
////更新
这是死亡的地方:
let file = "myFile.txt"
if let dir : NSString = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true).first {
//path will be stored here
let sPath = dir.stringByAppendingPathComponent(file);
print(sPath) // printing the file path
let url: NSURL = NSURL(string: sPath)!
let destinationFile = "myFile.txt"
FTPSession.upload(url, path: destinationFile) { // <-- Dies here
(result, error) -> Void in
print("- Result:\n\(result), error: \(error)\n\n")
}
}
【问题讨论】: