将文件保存在应用文件夹中

Posted

技术标签:

【中文标题】将文件保存在应用文件夹中【英文标题】:Save files inside app folder 【发布时间】:2017-06-17 11:55:16 【问题描述】:

当应用程序保存照片时,它会显示在照片应用程序中。但我想将照片保存在应用文件夹中,其他应用无法访问它。

我得到的文件保存路径如下:

let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)

我该怎么做?

有人告诉我使用安全存储。它可以成为我的解决方案吗?

【问题讨论】:

【参考方案1】:

将图像保存到 App 文件夹,如下所示:

func saveImageDocumentDirectory(image: UIImage, name:String)
    let paths = (NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as NSString).appendingPathComponent(name)
    let imageData = UIImageJPEGRepresentation(image, 0.5)
    FileManager.default.createFile(atPath: paths as String, contents: imageData, attributes: nil)

没有理由使用安全存储(除非您还想保护数据免受黑客攻击等),因为 App 文档文件夹只能由您的 App 访问。

另外,看看这个博客: https://iosdevcenters.blogspot.com/2016/04/save-and-get-image-from-document.html

【讨论】:

它似乎和我一样使用了文档目录。但我希望以只有我的应用可以访问它们的方式保存文件。 好吧,正如链接和帖子中所提到的,这就是文档文件夹的工作方式......它不是共享文件夹。该应用程序在沙盒环境中运行,其他应用程序无法访问其文件夹。 感谢托马斯和塞巴斯蒂安。但是托马斯,你能解释一下吗?我的路径和你提到的有什么不同吗?我找不到区别。请注意,照片应用显示的是我的图片,而不是其他应用。 我看不到显示的代码如何使照片应用程序可以使用图像。要保存到相册,您可以执行以下操作: UIImageWriteToSavedPhotosAlbum

以上是关于将文件保存在应用文件夹中的主要内容,如果未能解决你的问题,请参考以下文章

如何通过应用程序将 PDF 文件保存在 iPhone 设备中

如何将文件从 iOS 反应原生应用程序保存到 Files 文件夹

将应用程序配置保存在 plist 文件中的最佳实践

如何将应用程序设置保存在配置文件中?

iOS11 在 Files 应用中保存并查看 .txt 文件

Java将多行字符串保存到文本文件