我目前正在将我的根对象列为:
var files = new List<string>();
var request = new ListObjectsRequest();
request.WithBucketName(bucketName);
try
{
using (AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(this.accessKey, this.secretAccessKey))
using (ListObjectsResponse r = client.ListObjects(request))
foreach (var o in r.S3Objects)
//o.ETag, o.Key, o.StorageClass, o.Size
if (o.Size > 0)
files.Add(o.Key);
}
catch (Exception ex)
{
// log exception
}
在o.Key
中有文件名,但是我想获取此文件名的公共路径,我不会找到有关获取此类文件名称的帮助文件。
我通常在配置文件中使用 Public Bucket url,但我想知道是否可以避免这样的配置,并且实际上在检索时从Object本身获取它。
答案 0 :(得分:1)
发现这更容易,因为Amazon S3遵循惯例:
string path = String.Format("http://{0}.s3.amazonaws.com/", originBucketName);
这将成为公共道路。