Я сделал так, чтобы он работал с HTTP-запросом, но все еще не могу найти способ сделать HTTPS-запрос, используя alamofire / upload / multipartFormData.Кто-нибудь может помочь?
func UploadUserPhoto (Photo: UIImage, Username: String, completion: @escaping (_ result: Bool) -> Void){
let serverTrustPolicy = ServerTrustPolicy.pinCertificates(
certificates: ServerTrustPolicy.certificates(),
validateCertificateChain: true,
validateHost: true
)
let serverTrustPolicies: [String: ServerTrustPolicy] = [
"***********": serverTrustPolicy,
]
let sessionManager = SessionManager(
serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
)
let parameters = ["Authorization": Token ?? "Does not contain authorization information"]
sessionManager.upload(multipartFormData: { multipartFormData in
if let imageData = Photo.jpegData(compressionQuality: 1) {
multipartFormData.append(imageData, withName: "Photo", fileName: "file.png", mimeType: "image/png")
}
for (key, value) in parameters {
multipartFormData.append((value.data(using: .utf8))!, withName: key)
}}, to: "https://***********/uploaduserphoto/\(Username)", method: .post, headers: parameters,
encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.response(completionHandler: { (response) in
if response.response?.statusCode == 200{
completion(true)
} else {
completion(false)
}
})
case .failure(let encodingError):
print("error:\(encodingError)")
completion(false)
}
})
}
Обновление: я наконец-то обнаружил, что код хороший, сертификат плохой.После воссоздания самозаверяющего сертификата я работал.Спасибо
Ошибка Указывает, что:
2018-11-20 12:49:45.130697+0800 TalentBaby1.0[1359:288066] Task <09FA46A5-9791-42DB-97AD-78A351050916>.<1> load failed with error Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLStringKey=https://*******/uploaduserphoto/User, NSErrorFailingURLKey=https://*******/uploaduserphoto/User, _NSURLErrorRelatedURLSessionTaskErrorKey=("LocalUploadTask <09FA46A5-9791-42DB-97AD-78A351050916>.<1>"), _NSURLErrorFailingURLSessionTaskErrorKey=LocalUploadTask <09FA46A5-9791-42DB-97AD-78A351050916>.<1>, NSLocalizedDescription=cancelled} [-999]