【发布时间】:2015-04-27 00:55:20
【问题描述】:
我想将文件下载到我的 NSDocumentsDirectory。我抓取一个作为下载链接的 url,并将该 url 存储到一个名为 url 的变量中这是我执行下载并将其存储到 Documents Directory 的代码,所以:
let data = NSURLConnection.sendSynchronousRequest(urlRequest, returningResponse: &response,error: &error)
if data != nil && error == nil{
var documentsDirectoryUrl = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first as! NSURL
documentsDirectoryUrl = documentsDirectoryUrl.URLByAppendingPathComponent(url.lastPathComponent)
//Hold this file as an NSData and write it to the new location
let fileData = NSData(contentsOfURL: NSURL(string:url)!)
fileData!.writeToURL(documentsDirectoryUrl, atomically: false) // true
println("\(data!.length) bytes of data was written to Documents Directory.")
}
else if data!.length == 0 && error == nil{
println("No data was returned")
}
else if error != nil{
println("Error happened = \(error)");
}
由于我正在下载的文件是音乐文件,当我尝试从这些音乐文件播放音频时,当我尝试访问文件的路径时出现错误,因为该文件的路径设置为 nil。我认为这是下载文件的问题,因为我之前有代码工作,但后来我改变了下载音乐文件的方式,代码似乎中断了。任何帮助,将不胜感激。谢谢!
【问题讨论】:
-
你检查模拟器沙箱,是否有下载文件?
-
不,我没有。你是怎么做到的?
-
您的代码毫无意义您检查了数据是否!= nil 然后您从 url 加载了 fileData ??? BTW url 是一个字符串?
-
@LeonardoSavioDabus 我刚刚从该链接获取代码:github.com/vandadnp/iOS-8-Swift-Programming-Cookbook/blob/… 并对其进行了修改,以便将其下载到文档目录中。
-
记录
documentsDirectoryUrl,然后双击finder->转到文件夹->粘贴url然后去那里查看。
标签: ios swift download nsurlconnection nsurl