//
// LocalFileManager.swift
// SwiftUIByExample
//
// Created by wangxuncai on 2021/10/7.
//
import Foundation
import SwiftUI
class LocalFileManager{
static let instance = LocalFileManager()
private init(){}
//保存照片
func saveImage(image:UIImage,imageName:String,foldName:String){
creatFolderIfNeeded(folderName: foldName)
guard
let data = image.pngData(),
let url = getImageUrl(imageName: imageName, foldName: foldName)
else{return}
do {
try data.write(to: url)
} catch let error {
print("save image failed . \(error)")
}
}
//获取照片
func getImage(imageName:String,folderName:String)->UIImage?{
guard
let url = getImageUrl(imageName: imageName, foldName: folderName),
FileManager.default.fileExists(atPath: url.path) else {
return nil
}
return UIImage(contentsOfFile: url.path)
}
//create folder
private func creatFolderIfNeeded(folderName:String){
guard let url = getFoldUrl(foldName: folderName) else {return}
if !FileManager.default.fileExists(atPath: url.path){
do {
try FileManager.default.createDirectory(at: url, withIntermediateDirectories: true, attributes: nil)
} catch let error {
print("creat Folder failed .\(error)")
}
}
}
//get url
private func getFoldUrl(foldName:String)->URL?{
guard let url = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else{
return nil
}
return url.appendingPathComponent(foldName)
}
//get image url
private func getImageUrl(imageName:String,foldName:String)->URL?{
guard let url = getFoldUrl(foldName: foldName) else{return nil}
return url.appendingPathComponent(imageName).appendingPathExtension(".png")
}
}
苹果应用商店搜 王勋才 有我全部作品
网友评论