2015-04-02 198 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) 

}