iPhone:如何使用AWS iOS SDK从S3保存文件

时间:2011-04-02 21:45:49

标签: iphone sdk amazon-s3 amazon

我正在寻找一个超级简单的示例,说明如何使用他们的iOS SDK从S3执行getObject:http://aws.amazon.com/sdkforios/

具体是关于如何将响应结果写入文件的部分。

2 个答案:

答案 0 :(得分:2)

问题似乎是S3GetObjectReponse setOutputStream只有S3GetObjectResponse 获取[[AmazonClientManager s3] getObject:getObjectRequest];的方式是S3GetObjectRequest *getObjectRequest = [[[S3GetObjectRequest alloc] ....]; getObjectRequest.outputStream = ...; 到那时为时已晚。

因此,在请求中设置输出流:

S3GetObjectRequest

请参阅- (NSOutputStream *) outputStream

read
     

[writeassign,{{1}}]

     

获取并设置响应数据的输出流。

如果设置了此项,则响应会将数据写入提供的流,而不是通过data属性使其可用。

必须在所需的runloop中打开并安排流。 SDK不会关闭流。

答案 1 :(得分:1)

我查看了S3GetObjectResponse.h的API文档:

00020 @interface S3GetObjectResponse : S3Response {
00021         NSString *contentType;
00022         NSMutableDictionary *metadata;
00023         NSOutputStream *outputStream;
00024 }
00025 
00027 @property(nonatomic, retain) NSString* contentType;
00028 
00033 -(NSString *)getMetadataForKey:(NSString *)aKey;
00034 
00041 -(void)setOutputStream:(NSOutputStream *)stream;

也许您可以使用其NSOutputStream方法设置S3响应的-setOutputStream:。然后,您可以使用NSOutputStream instance methods之一将该流写入文件。对于iOS应用程序,您可以使用three specific folders

之一将数据写入文件