Я пытался выяснить, как загрузить каталог на S3 уже довольно давно, используя SDK для iOS для AWS.Загрузка каталога рекурсивно iOS AWS S3
В настоящее время у меня есть .zip каталоги, которые я загружал. Используя s3cmd на моем сервере EC2, я могу загружать каталоги без проблем. Я также прочитал, что это возможно, используя другие SDK.
Это код, у меня сейчас (быстрые):
let folderPath = DocumentFolder.stringByAppendingString("/folderPath/folder")
let uploadRequest = AWSS3TransferManagerUploadRequest()
uploadRequest.bucket = "my-bucket"
uploadRequest.serverSideEncryption = AWSS3ServerSideEncryption.AwsKms
uploadRequest.body = NSURL(fileURLWithPath: folderPath)
uploadRequest.key = "/\(folderName)/"
AWSS3TransferManager.defaultS3TransferManager().upload(uploadRequest)
Однако, это заставляет меня получить NSInvalidArgumentException.
Это точная ошибка:
2016-02-26 15:11:10.672 Q-Gate[1002:417054] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[NSConcreteData initWithBytes:length:copy:deallocator:]: absurd length: 18446744073709551615, maximum size: 9223372036854775808 bytes' *** First throw call stack: (0x181e55900 0x1814c3f80 0x181e55848 0x182743ef4 0x182743e38 0x1001ccdd0 0x1001cd7fc 0x18242287c 0x182420eb4 0x182420d74 0x182420ca4 0x1824a6ee4 0x182420c30 0x101e81bb0 0x101e8b354 0x182417a88 0x181d390ac 0x18241796c 0x18241782c 0x182417658 0x181e0cefc 0x181e0c990 0x181e0a690 0x181d39680 0x1824a9434 0x182817c40 0x181abfb28 0x181abfa8c 0x181abd028) libc++abi.dylib: terminating with uncaught exception of type NSException
Если изменить путь к .zip, он не загружает никаких проблем.
Кто-нибудь знает, как правильно загрузить каталог в s3 с помощью своего SDK для iOS?
Я случайно оставил эту часть при изменении моего кода для лучшей читаемости в этом сообщении. В моем фактическом проекте я так называю это. – kakkman