我可以使用AWS .NET SDK将文件或目录上传到存储桶,但它们总是位于根文件夹中。
有没有办法将文件上传到现有目录?
所以我使用TransferUtilityUploadDirectoryRequest将目录从本地磁盘上传到S3。我希望将文件上传到存储桶中的文件夹,其名称与我选择的文件夹相同。
例如。如果我选择目录c:/ stuff要上传,我希望c:/ stuff的内容进入BucketName / stuff,而不是直接进入存储桶。
我希望我很清楚我想要做什么,如果不是,我会尝试提供更多信息
答案 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)。