首页 > 解决方案 > 将相机照片保存到文件位置 - Swift Xcode

问题描述

在我的应用程序中,我允许用户使用相机拍照。当didFinishPickingMedia执行时,我想将照片保存到用户之前在应用程序中选择的FILE LOCATION (url... modelController.saveLocation )。文件位置可能是文件目录、Dropbox 等中的文件夹。尽管我在网上努力阅读,但我似乎无法弄清楚如何做到这一点。其他教程似乎正在拍摄资产文件夹中的照片并将其保存在某处,而不是刚刚拍摄的照片。

我试过这段代码,但它不起作用。由于某些错误,调用了 catch 语句中的代码。

let url = modelController.saveLocation[0].appendingPathComponent("\(saveLocationName.description).jpg")
        if let data = image.jpegData(compressionQuality: 1.00) {
            do {
                try data.write(to: url)
            } catch {
                print("Unable to write image data to disk")
                selectNewFileLocation()
            }
            
        }

请用代码解释你的答案。这可能是一个非常简单的解决方案,但我是一个菜鸟。提前感谢您的帮助!

标签: iosswiftxcode

解决方案


好久不见,我想你已经找到答案了。但这是针对遇到这个问题的人。由于某些原因,在我将格式更改为png格式而不是jpeg后,它可以工作,但是在再次使用jpeg格式后,它也可以工作。我真的不知道为什么,因为现在我无法重现这个问题。

let url = modelController.saveLocation[0].appendingPathComponent("\(saveLocationName.description).png")
    if let data = image.pngData() {
        do {
            try data.write(to: url)
        } catch {
            print("Unable to write image data to disk")
            selectNewFileLocation()
        }
        
    }

推荐阅读