iOSでアプリ内部に画像を保存する方法に関するメモ。
Documentsディレクトリに保存する場合は以下の方法でできます。
iOSでアプリ内部に画像を保存する方法
//画像保存 // DocumentディレクトリのfileURLを取得 func getDocumentsURL() -> NSURL { let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] as NSURL return documentsURL } // ディレクトリのパスにファイル名をつなげてファイルのフルパスを作る func fileInDocumentsDirectory(filename: String) -> String { let fileURL = getDocumentsURL().appendingPathComponent(filename) return fileURL!.path } //画像を保存するメソッド func saveImage (image: UIImage, path: String ) -> Bool { let jpgImageData = image.jpegData(compressionQuality:0.5) do { try jpgImageData!.write(to: URL(fileURLWithPath: path), options: .atomic) } catch { print(error) return false } return true }
使い方としてはこんな感じ↓
saveImage(image: "UIImage", path: "ファイル名")
DocumentディレクトリのURL取得
DocumentディレクトリのURLは「 FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] 」で取得。
UIImageの保存
画像の保存は、UIImageをDataクラスに変換して、「write(to url: URL, options: Data.WritingOptions = default) throws」で保存してます。