Здравствуйте, я пытаюсь сделать регистрационную форму с фотографией, взятой из библиотеки и показанной в виде изображения, это работает, только если у меня есть изображение в проекте, но не из галереи. пожалуйста, помогите, начав с xcode.
import UIKit
import Alamofire
class RegistroController:
UIViewController,UIImagePickerControllerDelegate,
UINavigationControllerDelegate {
let imagePicker = UIImagePickerController()
override func viewDidLoad() {
super.viewDidLoad()
imagePicker.delegate = self
}
@IBAction func cargarimagen(_ sender: Any) {
imagePicker.allowsEditing = false
imagePicker.sourceType = .photoLibrary
present(imagePicker, animated: true, completion: nil)
}
@IBAction func registrar(_ sender: Any) {
let parameters = ["nombre":nombrer, "apellidos":apellidosr, "zona":zonar, "area":cargosr,"email":emailr,"password":passwordr,"codempleado":codr]
let imageToUploadURL = Bundle.main.url(forResource: "30601611", withExtension: "jpeg")
let url = "http://localhost/prueba/registro.php"
Alamofire.upload(
multipartFormData: { multipartFormData in
multipartFormData.append(imageToUploadURL!, withName: "imagen")
for (key, val) in parameters {
multipartFormData.append(val.data(using: String.Encoding.utf8)!, withName: key)
}
},
to: url,
encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
if let jsonResponse = response.result.value as? [String: Any] {
print(jsonResponse)
}
}
case .failure(let encodingError):
print(encodingError)
}
}
)
}
func imagePickerController(_ picker: UIImagePickerController,
didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey :
Any]) {
if let pickedImage =
info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
imagen.contentMode = .scaleAspectFit
imagen.image = pickedImage
}
dismiss(animated: true, completion: nil)
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController)
{
dismiss(animated: true, completion: nil)
}
Как вы видите мой код, он регистрирует информацию на сервере и загружает изображение, но проблема в том, что мне нужно загрузить выбранное изображение или изображение, показанное в imagenview.
отнесись с этим кодом внутри тебя к IBAction
cargarimagen
@IBAction func cargarimagen(_ sender: Any) {
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerController.SourceType.photoLibrary) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerController.SourceType.photoLibrary
imagePicker.allowsEditing = true
self.present(imagePicker, animated: true, completion: nil)
} else {
print("No se pudo acceder a la libreria de fotos")
}
}