使用临时存储打开文件

时间:2015-12-21 12:19:49

标签: ios swift file download

我有一些代码可以下载并打开文件:

//Get documents directory URL
let documentsDirectoryUrl =  NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first

let sourceUrl = NSURL(string:"https://download.com/file.pdf")!

//Get the file name and create a destination URL
let fileName = sourceUrl.lastPathComponent!
let destinationURL = documentsDirectoryUrl!.URLByAppendingPathComponent(fileName)

//Hold this file as an NSData and write it to the new location
if let fileData = NSData(contentsOfURL: sourceUrl) {
    fileData.writeToURL(destinationURL, atomically: false)   // true

    let viewer = UIDocumentInteractionController(URL:destinationURL)
    viewer.delegate = self
    viewer.presentPreviewAnimated(true)
}

我不希望将其永久存储 - 只是为了让用户在点击“打开”文件时看到该文件。按钮。

有没有办法将文件放在像/ temp文件夹那样自动删除内容的地方,或者,当预览关闭时如何删除文件?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您的应用有一个临时目录,您可以查看File System Basics以查找有关您的应用可用目录的更多详细信息。您需要管理相关文件的生命周期。

有关从此目录中删除文件,请参阅此question

您感兴趣的目录是tmp/

形成文件:

  

使用此目录编写不需要的临时文件   在您的应用发布之间保持不变。您的应用应删除文件   从这个目录不再需要它们;然而   当您的应用未运行时,系统可能会清除此目录。该   iTunes不会备份此目录的内容。