¿Cómo cargar una imagen usando datos de formulario multiparte de alamofire con autenticación básica?
Soy nuevo en programación y desarrollo de iOS. Necesito cargar una imagen usando datos de formulario de múltiples partes de Alamofire, pero también necesito ingresar el encabezado de autenticación básica.
en este hiloAlamofire 4.0 Cargar encabezado de datos de múltiples partes, parece similar a mi problema, el código es así para cargar
Alamofire.upload(multipartFormData:{ multipartFormData in
multipartFormData.append(unicornImageURL, withName: "unicorn")
multipartFormData.append(rainbowImageURL, withName: "rainbow")},
usingThreshold:UInt64.init(),
to:"https://httpbin.org/post",
method:.post,
headers:["Authorization": "auth_token"],
encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
debugPrint(response)
}
case .failure(let encodingError):
print(encodingError)
}
})
pero no sé cómo poner el encabezado de autenticación básica (es decir, nombre de usuario y contraseña). y también confundí dónde debería colocar mis datos de imagen.
Encuentro otro hilo que parece similar a mi problema. aquí está... Cómo cargar MultipartFormData con autenticación usando Alamofire, la solución propuesta es este código:
let username = "username"
let password = "password"
let credentialData = "\(username):\(password)".dataUsingEncoding(NSUTF8StringEncoding)!
let base64Credentials = credentialData.base64EncodedStringWithOptions([])
let headers = ["Authorization": base64Credentials]
Alamofire.upload(
.POST,
"https://rilbits.com/supersafe/photo/upload",
headers: headers,
multipartFormData: { multipartFormData in
let data = "default".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!
multipartFormData.appendBodyPart(data: data, name: "_formname")
multipartFormData.appendBodyPart(fileURL: fileURL, name: "photo")
},
encodingCompletion: { encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
upload.responseString { response in
debugPrint(response)
}
case .Failure(let encodingError):
print(encodingError)
}
}
)
pero después de arreglar el swift 4.1 da un error:
¿Podrías ayudarme con mi problema? Gracias por adelantado :