это моя первая попытка при загрузке одного изображения через Alamofire на сервер. Я искал это и получил один способ сделать это. Вот как я передаю изображение из моего изображения в параметр моего API.
// import Alamofire
func uploadWithAlamofire() {
let token = UserDefaults.standard.string(forKey: "token")
let image = UIImage(cgImage: profileImage.image as! CGImage)
let imageData = UIImagePNGRepresentation(image)
// define parameters
let parameters = [
"token" : token!,
"name" : nameTxt.text!,
"about" : descriptionTxt.text!,
"picture" : imageData as Any
] as [String : Any]
Alamofire.upload(multipartFormData: { multipartFormData in
if let imageData = UIImageJPEGRepresentation(image, 1) {
multipartFormData.append(imageData, withName: "file", fileName: "file.png", mimeType: "image/png")
}
for (key, value) in parameters {
multipartFormData.append(((value as AnyObject).data(using: .utf8))!, withName: key)
}}, to: "upload_url", method: .post, headers: ["Authorization": "auth_token"],
encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.response { [weak self] response in
guard let strongSelf = self else {
return
}
debugPrint(response)
}
case .failure(let encodingError):
print("error:\(encodingError)")
}
})
}
Я получаю сообщение об ошибке в этой строке кода, multipartFormData.append(((value as AnyObject).data(using: .utf8))!, withName: key)
Ошибка, которую показывает компилятор, состоит в следующем: `` Тип 'UInt' не имеет члена 'utf8'`. Как я могу решить это? и это правильный способ отправки изображения?