2015-04-02 196 views
0

我试图使用NSURLConnection代表下载我的网络服务器上存在的.mp3文件。 我的问题是如何保留与DocumentDirectory中的扩展名(.mp3)相同的文件名,而无需重命名它?下载并保存文件并保留相同的文件名

这是我在connectionDidFinishLoading中做的,但没有完成。

func connectionDidFinishLoading(connection: NSURLConnection!) { 
    let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) 
    let documentsDirectory = paths[0] as String 
    let filePath = documentsDirectory.stringByAppendingPathComponent("AudioFiles") 

    self.songData.writeToFile(filePath, atomically: true) 

} 

感谢

+0

只是想知道,什么是默认保存为音频文件的名称,它是某种形式的文件夹中? – 2015-04-02 18:17:01

+0

@ Jesster2k10可以说我正在下载的文件是'abc.mp3',它位于网络服务器。我希望它在'文档'文件夹中保存为'abc.mp3'。 – 2015-04-02 18:32:34

+0

您可以获取connection.currentRequest.URL.lastPathComponent! – 2015-04-02 20:33:22

回答

0

你可以做到这一点

func connectionDidFinishLoading(connection: NSURLConnection!) { 

    let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) 
    let documentsDirectory = paths[0] as String 

    let description = connection.description() 
    var descriptionArr = split(description){$0 == "/"} 
    let descriptionArrCount = countElements(description) 
    if descriptionArrCount == 0 
    { 
     return 
    } 
    let fileName = description[descriptionArrCount - 1] as String   

    let filePath = documentsDirectory.stringByAppendingPathComponent(fileName) 

    self.songData.writeToFile(filePath, atomically: true) 

}