簡體   English   中英

如何獲取文件Amazon S3,AWS IOS SDK的上傳日期

[英]How to get upload date of a file Amazon S3, AWS IOS SDK

我有一個包含文件的S3存儲桶。 我可以在我的應用程序上成功下載並顯示該文件。

但是我想知道如果文件是最新的或沒有。 使用Firefox S3擴展,我可以看到在存儲桶文件名中,文件大小和上傳時間都保存到S3。 上傳時間的一個例子是10/10/2012 11:35 PM

得到我使用的網址

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上獲取文件的上傳日期?

編輯答案::::

好的,謝謝回答以下方法,我可以得到日期

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,關於你答案中的代碼,還有一件事。 在從響應中訪問NSString對象之前,不需要分配NSString對象。

NSString *fileModifiedDate = getMetadataResponse.lastModified;
NSLog(@"Last Modified date %@", fileModifiedDate);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM