Захват изображения, сохраненного из 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
}