Я пытаюсь загрузить документ из iCloud, используя Alamofire multipart, но он не работает. API работает правильно, как я проверял на Почтальоне. Выбор документа выполнен успешно, URL также генерируется правильно, но я получаю сообщение об ошибке «Недопустимое значение вокруг символа 0». Вот мой код:
func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
for url in urls{
let mimeType = mimeTypeForPath(path: url)
let header = ["Content-Type": "application/json; charset=utf-8", "Authorization": token]
let postUrl = serverURL + "transaction/upload-document/\(self.currentTransaction.uuid)"
let URL = try! URLRequest(url: postUrl, method: .post, headers: header)
Alamofire.upload(multipartFormData: { MultipartFormData in
var newImage = Data()
do{
newImage = try Data(contentsOf: url)
}catch{
print("FILE NOT FOUND")
}
MultipartFormData.append(newImage, withName: "transactiondocument" , fileName: "transactiondocument" , mimeType: mimeType)
}, with: URL, encodingCompletion: {
EncodingResult in
switch EncodingResult{
case .success(let upload, _, _):
upload.responseJSON { response in
debugPrint("SUCCESS RESPONSE: \(response)")
self.viewDidLoad()
}
case .failure(let encodingError):
print("ERROR RESPONSE: \(encodingError)")
} })
}
}
И вот ошибка, которую я получаю:
FAILURE: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(error: Error Domain=NSCocoaErrorDomain Code=3840 \"Invalid value around character 0.\" UserInfo={NSDebugDescription=Invalid value around character 0.}))"