我正在从亚马逊 s3 下载一些文件,如下所示
private static readonly IAmazonS3 _amazonS3Client = AWSClientFactory.CreateAmazonS3Client(
AccessKey,
SecretKey,
Config
);
var request = new ListObjectsRequest {BucketName = BucketName};
ListObjectsResponse response = _amazonS3Client.ListObjects(request);
foreach (S3Object o in response.S3Objects)
{
var objRequest = new GetObjectRequest
{
BucketName = BucketName,
Key = o.Key
};
GetObjectResponse objResponse = _amazonS3Client.GetObject(objRequest);
objResponse.WriteResponseStreamToFile(ConfigurationManager.AppSettings["TargetLocation"] + o.Key);
}
这很好用,现在我已经在存储桶中创建了一个文件夹,并且我只想下载该存储桶中的文件。任何人都可以指出实现这一目标的正确方法吗?
最佳答案
只需将您的存储桶名称设置为:存储桶名称/文件夹名称。
因此,如果您有一个名为“MyBucket”的存储桶,并且该存储桶内有一个名为 MyFolder 的文件夹,那么您会这样做:
var objRequest = new GetObjectRequest
{
BucketName = "MyBucket/MyFolder",
Key = o.Key
};
关于.net - 从 amazon s3 存储桶子文件夹 .Net 获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30707867/