如何获取文件Amazon S3,AWS IOS SDK的上传date
我有一个S3存储桶中的文件。 我可以成功下载并在我的应用程序上显示该文件。
但是我想知道,如果文件是最新的或没有。 使用Firefox S3扩展,我可以看到在存储桶文件名中,文件大小和上传时间保存到S3。 上传时间的一个例子是10/10/2012 11:35 PM
获取我使用的url
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(queue, ^{ // Set the content type so that the browser will treat the URL as an image. S3ResponseHeaderOverrides *override = [[S3ResponseHeaderOverrides alloc] init]; override.contentType = @" "; // Request a pre-signed URL to picture that has been uplaoded. S3GetPreSignedURLRequest *gpsur = [[S3GetPreSignedURLRequest alloc] init]; gpsur.key = _fileName; gpsur.bucket = [Constants pictureBucket]; gpsur.expires = [NSDate dateWithTimeIntervalSinceNow:(NSTimeInterval) 3600]; // Added an hour's worth of seconds to the current time. gpsur.responseHeaderOverrides = override; // Get the URL NSError *error; NSURL *url = [self.s3 getPreSignedURL:gpsur error:&error];
如何在Amazon S3上获取文件的上传date?
编辑答案::::
好,谢谢用下面的方法回答我可以得到date
S3GetObjectMetadataRequest *getMetadataRequest = [[S3GetObjectMetadataRequest alloc] initWithKey:_fileName withBucket:[Constants pictureBucket]]; S3GetObjectMetadataResponse *getMetadataResponse = [self.s3 getObjectMetadata:getMetadataRequest]; NSString *fileLastModifiedDate = [[NSString alloc] init]; fileLastModifiedDate = [NSString stringWithFormat:@"%@",getMetadataResponse.lastModified]; NSLog(@"Last Modified date %@",fileLastModifiedDate);
你必须做一个S3GetObjectMetadataRequest。
S3GetObjectMetadataRequest *getMetadataRequest = [[S3GetObjectMetadataRequest alloc] initWithKey:filePath withBucket:BUCKET_NAME]; S3GetObjectMetadataResponse *getMetadataResponse = [self getObjectMetadata:getMetadataRequest];
http://docs.amazonwebservices.com/AmazonS3/latest/dev/UsingMetadata.html
Mord Fustang,尽pipe你的答案是关于代码的。 在从响应中访问它之前,您不需要分配NSString对象。
NSString *fileModifiedDate = getMetadataResponse.lastModified; NSLog(@"Last Modified date %@", fileModifiedDate);