Загрузка в Amazon-S3 через AFNetworking
У меня проблемы с загрузкой файлов в S3 через AFNetworking. Когда я пытаюсь загрузить, я получаю обратные вызовы, указывающие, что небольшой процент файла загружен, затем обратные вызовы прекращаются, и через одну или две минуты я получаю сообщение об истечении времени ожидания.
Я использую AFAmazonS3Client, но, похоже, это довольно простой подкласс AFHTTPClient, так что, похоже, проблема в этом. Поскольку я новичок в AFNetworking и S3, я почти уверен, что проблема заключается в наборе этого сообщения:)
Я скачал AWS-IOS SDK и смог без проблем опубликовать картинку из их примера кода. Так что я не думаю, что это неверная конфигурация моей учетной записи S3.
1 ответ
Немного поработав с той же проблемой и проведя небольшое исследование, я нашел решение, которое, похоже, хорошо работает.
Загрузите Amazon AWS SDK для iOS и добавьте его в свой проект:
http://aws.amazon.com/sdkforios/
Затем выполните тест загрузки с пользовательским NSOperation
Класс, как объяснено здесь:
Использование делегатов, операций и очередей
AmazonServiceRequestDelegate
протокол является ключом для получения обновлений прогресса, аналогично тому, что AFNetworking
делает.
В частности, мне нужен именно этот метод:
-(void)request:(AmazonServiceRequest *)request didSendData:(NSInteger)bytesWritten
totalBytesWritten:(NSInteger)totalBytesWritten
totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite;