[英]Can not get proper firebase image save in document directory in swift 4 iOS
[英]How to save image in document directory and fetch it in Swift
我正在創建一個應用程序來捕獲照片並將其與一些UITextField
數據一起保存。
我已經使用核心數據來存儲UITextField
數據並且工作正常,但我無法使用核心數據保存圖像。
我已經拍攝了照片並將該照片轉移到下一個視圖控制器進行預覽,然后我需要保存並轉移到主視圖控制器以在UITableViewCell
顯示帶有相關UITextField
數據的圖片。
UITextField
一切正常,可以在UITableViewCell
保存和獲取,但無法保存和獲取圖像。
如果您仍在努力弄清楚這里是代碼片段,祝您好運
func saveImageToDocumentDirectory(image: UIImage ) {
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let fileName = "image001.png" // name of the image to be saved
let fileURL = documentsDirectory.appendingPathComponent(fileName)
if let data = UIImageJPEGRepresentation(image, 1.0),!FileManager.default.fileExists(atPath: fileURL.path){
do {
try data.write(to: fileURL)
print("file saved")
} catch {
print("error saving file:", error)
}
}
}
func loadImageFromDocumentDirectory(nameOfImage : String) -> UIImage {
let nsDocumentDirectory = FileManager.SearchPathDirectory.documentDirectory
let nsUserDomainMask = FileManager.SearchPathDomainMask.userDomainMask
let paths = NSSearchPathForDirectoriesInDomains(nsDocumentDirectory, nsUserDomainMask, true)
if let dirPath = paths.first{
let imageURL = URL(fileURLWithPath: dirPath).appendingPathComponent(nameOfImage)
let image = UIImage(contentsOfFile: imageURL.path)
return image!
}
return UIImage.init(named: "default.png")!
}
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var myimageview: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
getSaveImage()
}
func getSaveImage()
{
let document = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
print("Document :\(document)")
let imgurl = document.appendingPathComponent("img1", isDirectory: true)
print("Image Url : \(imgurl.path)")
if !FileManager.default.fileExists(atPath: imgurl.path)
{
do{
try UIImage(named: "img1")!.jpegData(compressionQuality: 0.75)!.write(to: imgurl)
print("image save")
}
catch{
print("image not save")
}
}
myimageview.image = UIImage(contentsOfFile: imgurl.path)
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.