【问题标题】:Convert NSFileManager file path in Swift to NSURL将 Swift 中的 NSFileManager 文件路径转换为 ​​NSURL
【发布时间】:2015-12-17 11:58:06
【问题描述】:

我的应用程序上有一个文件,我使用 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)"

【问题讨论】:

    标签: swift file ftp nsurl


    【解决方案1】:

    简单回答如下

     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
    

    【讨论】:

      【解决方案2】:

      试试下面的代码:

      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("***")
          }
      

      如果我理解错了,请随时纠正我!问候,亚历克斯

      【讨论】:

        猜你喜欢
        • 2011-07-28
        • 2014-05-04
        • 2011-10-20
        • 1970-01-01
        • 2013-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-22
        相关资源
        最近更新 更多