Я обновил под Alamofire 5.0 более старую версию,
Из Руководства по миграции https://github.com/Alamofire/Alamofire/blob/master/Documentation/Alamofire%205.0%20Migration%20Guide.md
"API MultipartFormData изменился, и методы загрузки верхнего уровня для создания и загрузки MultipartFormData были обновлены, чтобы соответствовать другим API запросов, поэтому больше нет необходимости иметь дело с Результатом многостраничного кодирования. "
У меня написана функция ниже, Я не могу переписать это в новой версии. Может ли кто-нибудь мне помочь в этом отношении?
примечание: Я думаю, мне нужно изменить "Alamofire.upload" -> "AF.upload ", однако этого недостаточно, чтобы решить проблему,
func uploadPhoto(token:String, userID: String, data: Data, dataUrl: URL) -> Observable<AnyObject?> {
return Observable<AnyObject?>.create({ (observer) -> Disposable in
print(userID);
print(data);
do {
let urlRequest = try URLRequest(url: ResourcePath.Upload.path + "/\(userID)" , method: .post)
Alamofire.upload(multipartFormData: { (multipartData) in
multipartData.append(data, withName: "Filedata", fileName: dataUrl.absoluteURL.lastPathComponent, mimeType: "image/jpeg")
//append(dataUrl, withName: "Filedata", fileName: dataUrl.absoluteString, mimeType: "image/png")
}, with: urlRequest, encodingCompletion: { (result) in
switch result {
case .success(let value, let t1, let t2) :
print(value)
value.responseData(completionHandler: { (dataResponse) in
switch (dataResponse.result) {
case .success(let value) :
print(value)
do {
let jsonData = JSON(dictData)
print("Upload photo response: \(jsonData)")
observer.onNext(jsonData as AnyObject?)
observer.onCompleted()
}
catch {
print(error)
observer.onError(error)
return
}
break
case .failure(let error) :
print(error)
observer.onError(error)
break
}
})
break
case .failure(let error) :
print(error)
observer.onError(error)
break
default:
break
}
})
} catch {
print(error)
observer.onError(error)
}
return Disposables.create {
print("disposed")
}
})
}