如何使用亚马逊S3框架从亚马逊下载pdf

时间:2013-09-30 05:26:16

标签: objective-c

我试过搜索但找不到更好,我也试过上面的代码,但它超出了我的理解,给了我很多错误请帮帮我....

S3GetPreSignedURLRequest * request = [[S3GetPreSignedURLRequest alloc] init];
request.bucket = @"bucket";
request.key = @"key";
request.contentType = @"image/jpeg";
request.httpVerb = @"GET";

AmazonCredentials *credentials = [[AmazonCredentials alloc] initWithAccessKey:ACCESS_KEY_ID withSecretKey:SECRET_KEY];
request.credentials = credentials;

NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];
[components setHour:1];
NSDate * oneHourFromNow = [[NSCalendar currentCalendar] dateByAddingComponents:components toDate:[NSDate date] options:0];

request.expires = oneHourFromNow;

//get the presigned URL
//NSURL * url = [[Constants s3] getPreSignedURL: request];

1 个答案:

答案 0 :(得分:0)

在应用程序中包含秘密并在现场创建预先签名的URL并不合理。 iOS应用程序不应该包含S3机密,因为它们可以用来做你几乎肯定不希望用户做的事情(例如,上传和删除文件,创建和删除存储桶等)。

如果您希望PDF可以公开访问,请在上传时将其设置为公开,并且可以使用任何HTTP库(例如http://s3.amazonaws.com/yourbucket/yourfile.pdf)在其URL上使用。您不需要S3框架来执行此操作 - NSURLConnection,或者甚至只是Web视图,都可以正常工作。