Я использую Amazon S3 в качестве моей файловой системы хранения в приложении. У всех объектов моего объекта есть несколько изображений, связанных с ними, и в каждом из них хранятся только URL-адреса изображений, которые облегчают мою базу данных. Поэтому мне нужен эффективный способ загрузки нескольких изображений на S3 непосредственно из iOS, а при успешном завершении хранения их URL-адреса в объекте, который я отправляю на сервер. Я просмотрел в SDK и пример приложения Amazon предоставляет, но единственный пример я наткнулся для одной загрузки изображения, и выглядит следующим образом:Эффективный способ загрузки нескольких изображений на S3 из iOS
func uploadData(data: NSData) {
let expression = AWSS3TransferUtilityUploadExpression()
expression.progressBlock = progressBlock
let transferUtility = AWSS3TransferUtility.defaultS3TransferUtility()
transferUtility.uploadData(
data,
bucket: S3BucketName,
key: S3UploadKeyName,
contentType: "text/plain",
expression: expression,
completionHander: completionHandler).continueWithBlock { (task) -> AnyObject! in
if let error = task.error {
NSLog("Error: %@",error.localizedDescription);
self.statusLabel.text = "Failed"
}
if let exception = task.exception {
NSLog("Exception: %@",exception.description);
self.statusLabel.text = "Failed"
}
if let _ = task.result {
self.statusLabel.text = "Generating Upload File"
NSLog("Upload Starting!")
// Do something with uploadTask.
}
return nil;
}
}
Для свыше 5 изображений это станет вложенным потому что мне придется ждать, пока каждая загрузка вернется успешно, прежде чем запускать следующую, а затем, наконец, отправит объект в мою БД. Есть ли эффективный, чистый код для меня для достижения моей цели?
URL, чтобы образец приложения GitHub Амазонки: https://github.com/awslabs/aws-sdk-ios-samples/tree/master/S3TransferUtility-Sample/Swift
Вы решили это? Я ищу то же самое. – user2722667