Захват изображения, сохраненного из UIImagePickerController?

Я пытаюсь загрузить изображение с пути документов, в моем случае отображается как file:///var/mobile/Containers/Data/Application/AE7B9E43-E92D-4029-AE8D-4500CB61C15D/Documents/uploadImage.jpg, Как мне вернуть это изображение, чтобы его можно было отправить с помощью POST-вызова? Я сохраняю изображение из imagePickerController, Это код, который я должен сохранить изображение...

    let fileDirectory : NSURL  = {
        return try! FileManager.default.url(for: .documentDirectory , in: .userDomainMask , appropriateFor: nil, create: true)
    }() as NSURL

    let image = info[UIImagePickerControllerOriginalImage] as! UIImage
    let imagePath = fileDirectory.appendingPathComponent("uploadImage.jpg")

    guard let imageData = UIImageJPEGRepresentation(image, 0.5) else {
        // handle failed conversion
        presentAlert(title: "Error", message: "Image Failure")
        print("jpg error")
        return
    }

    try! imageData.write(to: imagePath!
        print("Image Path: \(imagePath!)")

2 ответа

Вы можете получить изображение из пути документа, используя

let documentPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
  if let dirPath  = documentPath.first{
    let imageURL = URL(fileURLWithPath: dirPath).appendingPathComponent("uploadImage.jpg")
    let image    = UIImage(contentsOfFile: imageURL.path)
    // Do whatever you want with the image
  }

Сохраните imagePath где-нибудь. Затем вы можете получить изображение обратно, используя:

func imageFromPath(path: String) -> UIImage? {
  if let data = NSData(contentsOfFile: path) {
    return UIImage(data: data)
  }
  return nil
}
Другие вопросы по тегам