【发布时间】:2013-06-01 01:54:51
【问题描述】:
我在 S3 上创建了两个存储桶,分别命名为“demobucket”和“demo.bucket”。 当我在“demobucket”上上传任何文件时,它工作正常。但是当我在“demo.bucket”上上传文件时,它给了我一个错误“达到最大重试次数:3”
我担心的是,当存储桶名称包含句点(点)时,上传文件有什么问题。
我的代码是:
public static bool UploadResumeFileToS3(string uploadAsFileName, Stream ImageStream, S3CannedACL filePermission, S3StorageClass storageType)
{
try
{
AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(MY_AWS_ACCESS_KEY_ID, MY_AWS_SECRET_KEY);
PutObjectRequest request = new PutObjectRequest();
request.WithKey(uploadAsFileName);
request.WithInputStream(ImageStream);
request.WithBucketName("demo.bucket");
request.CannedACL = filePermission;
request.StorageClass = storageType;
client.PutObject(request);
client.Dispose();
}
catch
{
return false;
}
return true;
}
【问题讨论】:
-
我会将存储桶名称作为参数添加到您的方法中并重新运行。这 2 个存储桶在同一个帐户下,具有相同的设置?
-
@Mzf:如果我像我一样将存储桶名称作为参数传递和静态传递,有什么区别吗?并且这 2 个存储桶在同一个帐户和同一个区域下。
-
嗯,根据我的经验,在存储桶名称中使用句点没有问题。
-
您使用的是哪个版本的适用于 .NET 的 AWS 开发工具包?
-
@WadeMatveyenko:这是 1.3 版
标签: c# file-upload amazon-s3