Я пытаюсь загрузить изображение из ImageView на удаленный сервер.
Это мой код:
func subir_imagen(){
let image = self.foto.image
let imgData = image!.jpegData(compressionQuality: 1)!
let parameters = ["name": "jogua"] //Optional for extra parameter
Alamofire.upload(multipartFormData: { multipartFormData in
multipartFormData.append(imgData, withName: "fileset",fileName: "file.jpg", mimeType: "image/jpg")
for (key, value) in parameters {
multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
} //Optional for extra parameters
},
to:"https://.../subir_foto_dispositivo.php")
{ (result) in
switch result {
case .success(let upload, _, _):
upload.uploadProgress(closure: { (progress) in
print("Upload Progress: \(progress.fractionCompleted)")
})
upload.responseJSON { response in
print(response)
}
case .failure(let encodingError):
print(encodingError)
}
}
}
Это файл subir_foto_dispositivo. php:
// Save the image file
move_uploaded_file($_FILES["image"]["tmp_name"], $_FILES["image"]["name"]);
// Send some dummy result back to the iOS app
$result = array();
$result["user"] = $user;
$result["message"] = "Success!";
$result["files"] = $_FILES;
$result["post"] = $_POST;
echo json_encode($result);
И это вывод в отладчике при загрузке изображения:
Upload Progress: 0.21640112366409928
Upload Progress: 0.4362101390394442
Upload Progress: 0.6628349378372804
Upload Progress: 0.8485650361001688
Upload Progress: 1.0
SUCCESS: {
files = {
fileset = {
error = 0;
name = "file.jpg";
size = 9615058;
"tmp_name" = "/tmp/phpH6Au4W";
type = "image/jpg";
};
};
message = "Success!";
post = {
name = jogua;
};
user = "<null>";
}
Я не получаю никаких предупреждений или ошибок, но изображение не загружено на сервер, по крайней мере, я не могу найти его в папке.
Думаю, мне что-то не хватает.