:
let reference = "test.pdf"
let RequestURL = "http://xx/_PROJEKTE/xx\(self.reference)"
let ChartURL = NSURL(string: RequestURL)
//download file
let documentsUrl = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first! as NSURL
let destinationUrl = documentsUrl.URLByAppendingPathComponent(ChartURL!.lastPathComponent!)
if NSFileManager().fileExistsAtPath(destinationUrl.path!) {
print("The file already exists at path")
} else {
// if the file doesn't exist
// just download the data from your url
if let ChartDataFromUrl = NSData(contentsOfURL: ChartURL!){
// after downloading your data you need to save it to your destination url
if ChartDataFromUrl.writeToURL(destinationUrl, atomically: true) {
print("file saved")
print(destinationUrl)
} else {
print("error saving file")
}
}
}
をそれから私はこのように、項目を削除するtest()
関数を呼び出したいです私はあなたの問題がこの行にあると信じています:
let filePaths = try fileManager.contentsOfDirectoryAtPath("\(documentsUrl)")
contentsOfDirectoryAtPath()
にはNSURL
という文字列を使用しています。パス文字列またはURLのどちらかを選択し、両方を混在させないでください。あなたの可能な次の質問を事前に空にするには、URLが優先されます。 contentsOfDirectoryAtURL()
とremoveItemAtURL()
をお試しください。
もう1つ不思議なことに、あなたは上記を解決しなければなりません:なぜあなたは削除しようとするとファイルパスにNSTemporaryDirectory()
を使用していますか?あなたはドキュメントディレクトリを読んでいるので、それを使うべきです。
私はあなたがこれらのファイルを保存し、削除するためではなく.DocumentDirectory' ''より.CachesDirectory'を使用することを検討したいと思います。 – TwoStraws
私はファイルをそこに保存しようとしましたが動作しませんでした –
[app backup best practices](https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/PerformanceTips)を必ず読んでください。 /PerformanceTips.html#//apple_ref/doc/uid/TP40007072-CH7-SW17)および[QA1719](https://developer.apple.com/library/ios/qa/qa1719/_index.html)をご覧ください。 – TwoStraws