iOS: прогресс загрузки JSON - PullRequest
0 голосов
/ 29 мая 2018

Мне нужно загрузить большой json-файл (содержащий UIImage в качестве base64) на сервер и хотел бы отслеживать прогресс.Я пытался с Alamofire, но, похоже, файл загружается первым, и только ответ может быть достигнут.Я не могу использовать multipart, поскольку API не поддерживает это.Можно ли даже получить прогресс загрузки, когда отправляется только body-json?

Ответы [ 2 ]

0 голосов
/ 01 июня 2018

Кажется, что он работает с методом upload и json конвертируется в данные.Использовал случайное изображение и макет API для тестирования.

let imageData = UIImagePNGRepresentation(UIImage(named: "test")!)!
let json = ["test": imageData.base64EncodedString(options: .lineLength64Characters)]
let jsonData = try? JSONSerialization.data(withJSONObject: json, options: .prettyPrinted)
self.sessionManager.upload(jsonData!, to: "https://demo1752132.mockable.io/test", method: .post).responseJSON { dataResponse in

}.uploadProgress { progress in
    print("Upload Progress: \(progress.fractionCompleted)")
}
0 голосов
/ 29 мая 2018

Как я уже пробовал, ответ на этот вопрос NO .Я преуспел с прогрессом файлов, тогда как для body-json я не смог отследить прогресс.

Я попытаюсь объяснить мой сценарий, который может быть похож на вас.Я должен загрузить несколько изображений с текстом в потоке.Для нас API для медиа отличается.Я имею в виду для каждого изображения, которое я должен загрузить на сервер и получить ответ.В последнем запросе я должен отправить все собранные URL вместе с текстом в теле json.В этом сценарии я успешно отслеживал загрузку всех изображений и хорошо это показал.Когда я пришел к окончательному запросу, я не смог его отследить.

Будем рады узнать, если кто-то обнаружит отслеживание этого.

...