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

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

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

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

我该怎么做?

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

【问题讨论】:

    标签: ios swift3 nsfilemanager


    【解决方案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
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多