菜鸟教程小白 发表于 2022-12-13 01:26:16

ios - 如何在 Amazon S3 Bucket 的文件夹中获取文件列表


                                            <p><p>好的,我明白了 <a href="https://stackoverflow.com/questions/9329234/amazon-aws-ios-sdk-how-to-list-all-file-names-in-a-folder" rel="noreferrer noopener nofollow">this</a>和 <a href="https://stackoverflow.com/questions/15022707/how-to-use-aws-ios-sdk-to-delete-a-folder-and-all-its-objects-in-side-bucket" rel="noreferrer noopener nofollow">this</a>和 <a href="http://docs.aws.amazon.com/AmazonS3/latest/dev/ListingKeysHierarchy.html" rel="noreferrer noopener nofollow">documentation</a>告诉亚马逊是平面文件系统,要创建/获取/设置文件夹,必须使用 Delimiter='/' 和 Prefix。 </p>

<p>但我没明白,我的意思是我不会写代码。所以我有一个存储桶和一个包含一些文件的文件夹,我想要这些文件的列表</p>

<p>所以我尝试了 <code>bucket/folder</code> 、 <code>/bucket/folder/</code> 、 <code>bucket/folder/</code> 所有这些都失败了。 </p>

<p>如果我只尝试 <code>bucket</code>,它可以正常工作</p>

<pre><code>S3ListObjectsRequest *getListObjectsRequest= [ initWithName:@&#34;bucket&#34;]; // tried also here bucket/folder , /bucket/folder/ ,bucket/folder/
    S3ListObjectsResponse *getListObjectsResponse = ;

    //test to see inside of the folder
    NSArray *objectsinamazon = ; //as I said I tried bucket/folder , /bucket/folder/ ,bucket/folder/ all od this fails.

    NSLog(@&#34;array is %@&#34;,objectsinamazon);

    S3ListObjectsResult *listObjectsResults = getListObjectsResponse.listObjectsResult;



    for (S3ObjectSummary *objectSummary in listObjectsResults.objectSummaries) {

      NSLog(@&#34;Bucket Contents %@:&#34;,);
       //get last modified date of file by using meta data
    S3GetObjectMetadataRequest *getMetadataRequest = [ initWithKey: withBucket:@&#34;bucket&#34;];
    S3GetObjectMetadataResponse *getMetadataResponse = ;

}
}
</code></pre>

<p>我要求准确的语法(代码)将 <code>bucket/folder</code> 请求发送到 amazon s3 </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>S3 不是扁平的,它只有两个层次:存储桶和对象名称(它是扁平的<strong>inside</strong>存储桶)。桶永远只是桶。您正在尝试添加到您的存储桶名称,这会产生无效的存储桶名称。</p>

<p>前缀和分隔符参数是<a href="http://docs.aws.amazon.com/AWSiOSSDK/latest/Classes/S3ListObjectsRequest.html#properties" rel="noreferrer noopener nofollow">properties on S3ListObjectsRequest</a> .我的 Objective-C 生锈了,但我认为你可以设置这些属性:</p>

<pre><code>getListObjectsRequest.prefix = @&#34;my/prefix/&#34;;
getListObjectsRequest.delimiter = @&#34;/&#34;;
</code></pre>

<p>在向 S3 提交请求之前。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在 Amazon S3 Bucket 的文件夹中获取文件列表,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/15276180/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/15276180/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在 Amazon S3 Bucket 的文件夹中获取文件列表