gpt4 book ai didi

ios - S3TransferManager 下载镜像

转载 作者:行者123 更新时间:2023-11-29 13:00:23 31 4
gpt4 key购买 nike

我已经成功地使用 S3TransferManager 将图像上传到 S3 服务器。现在我正在尝试重新下载图像。但我不断收到此日志消息。我不知道如何解决。似乎文件路径有问题,因此它创建了一个临时文件。

[S3TransferManager filePath:]|531|File created to persist transfer request: /private/var/mobile/Applications/9CD874D1-2605-4067-949C-D373E917B85E/tmp/S3TransferDownloadRequests/000000000-individualframes-20131111T181238Z.plist

这是我正在使用的代码。

- (void) downloadFramesFromURLS:(NSMutableArray *) urls {

for (NSString *string in urls) {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:string];
S3GetObjectRequest *req = [[S3GetObjectRequest alloc] initWithKey:string withBucket:@"individualframes"];
req.targetFilePath = filePath;
req.contentType = @"image/jpeg";
req.delegate = self;
[self.downLoadManager download:req];
}

}

如果我执行 [self.s3 getObject:req]; 而不是 [self.downLoadManager download:req]; 下载工作正常。但我想像处理上传一样使用传输管理器

更新:这是我在委托(delegate)方法中使用的代码的简化版本。所以当下载完成后,我想使用下载的数据文件并将其转回 UIImage。当我使用传输管理器时,response.body 为 nil。

- (void) request:(AmazonServiceRequest *)request didCompleteWithResponse:(AmazonServiceResponse *)response {
NSData *data = response.body;
UIImage *img = [UIImage imageWithData:data];
// further processing goes on here
}

最佳答案

您看到的日志消息是因为 S3TransferManager 创建了一个临时元数据文件,因此如果传输暂停或中断,它可以恢复。下载完成后,此元数据文件将被删除。实际文件应下载到您指定的 targetFilePath。仅仅是您关心的日志行,还是文件没有下载到 targetFilePath?

这篇博文介绍了最新的 S3TransferManager 功能,可能对您有用:http://mobile.awsblog.com/post/Tx2W0CZSJXOFBEU/Download-Pause-and-Resume-with-the-S3TransferManager-for-iOS

关于ios - S3TransferManager 下载镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19914104/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com