如何将文件/目录上传到存储桶中的文件夹?

时间:2011-05-25 13:47:57

标签: c# .net amazon-s3

我可以使用AWS .NET SDK将文件或目录上传到存储桶,但它们总是位于根文件夹中。

有没有办法将文件上传到现有目录?

  • 修改。更多信息:

所以我使用TransferUtilityUploadDirectoryRequest将目录从本地磁盘上传到S3。我希望将文件上传到存储桶中的文件夹,其名称与我选择的文件夹相同。

例如。如果我选择目录c:/ stuff要上传,我希望c:/ stuff的内容进入BucketName / stuff,而不是直接进入存储桶。

我希望我很清楚我想要做什么,如果不是,我会尝试提供更多信息

2 个答案:

答案 0 :(得分:4)

谷歌搜索后,你指定一个键。我花了一段时间,但我相信关键是这样的例子:

string key = string.Format("{0}/{1}", folder, filename); 
PutObjectRequest rq = new PutObjectRequest()
{
    AutoCloseStream = false,
    BucketName = s3BucketName,
    InputStream = stream,
    Key = key
};

S3ClientInstance.PutObject(rq).Dispose();

答案 1 :(得分:4)

最新版本的AWS SDK for .NET允许您在 UploadDirectoryRequest 上设置 KeyPrefix 属性(更多信息here)。