2015-06-03 5 views
1

В настоящее время я загружаю изображения из приложения IOS в AWS S3.IOS Загрузить изображения от AWS S3

Чтобы отобразить изображения, загруженные в S3 я использовать методы Документов

// Construct the NSURL for the download location. 
NSString *downloadingFilePath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"downloaded-myImage.jpg"]; 
NSURL *downloadingFileURL = [NSURL fileURLWithPath:downloadingFilePath]; 

// Construct the download request. 
AWSS3TransferManagerDownloadRequest *downloadRequest = [AWSS3TransferManagerDownloadRequest new]; 

downloadRequest.bucket = @"myBucket"; 
downloadRequest.key = @"myImage.jpg"; 
downloadRequest.downloadingFileURL = downloadingFileURL; 

А затем, чтобы загрузить изображение с помощью метода

[[transferManager download:downloadRequest] continueWithExecutor:[BFExecutor mainThreadExecutor] 
                withBlock:^id(BFTask *task) 

Я обеспокоен месте загрузки: могут ли быть проблемы с памятью, если загружено слишком много изображений?

Если кто-то уже использует этот фреймворк, есть ли возможности кэширования для установки вручную? Есть ли какое-то преимущество в использовании структуры, такой как SDWebImage, для отображения изображений?

ответ

0

AWS Mobile SDK для iOS не обеспечивает кеширование. Вам нужно управлять файлами, загружаемыми с ведер Amazon S3 для себя. Когда они подходят вашему варианту использования, системы обналичивания могут помочь вам управлять загруженными файлами.

0

Вы можете использовать SDWebImage от конца до конца. Для этого вам понадобится подкласс NSURLProtocol. Вы можете подробнее узнать об этом Here

0

Да, SDWebImage framework очень хорошо управляет кэшем изображений. Я предлагаю вам попробовать. Его простота использования.