我把我的文件存储在亚马逊的S3云中,希望使用C# .NET来获取它们。如果我使用完整的文件名作为检索文件的密钥,那么在获取文件方面没有问题。
keyName = "myfile.jpg";
client.GetObject(new GetObjectRequest { BucketName = bucketName, Key = keyName });现在,如果我不知道图像的文件扩展名,它可能是"myfile.jpg“、"myfile.png”或"myfile.gif“。我有“我的档案”作为我唯一的信息。
有一件事是肯定的,该文件将仅是图像。
是否有任何方法只通过文件名("myfile")获取对象?或者在亚马逊S3中,我们可以将文件的密钥更改为"myFile“或任何我们想做的东西?
任何帮助都将不胜感激。
谢谢!
发布于 2015-02-18 08:20:33
您有一个API来获取文件的名称列表(S3键),还有另一个API来获取文件(S3键)。
这段代码给出了来自S3桶的所有键(对象)的列表。
// Create a client
AmazonS3Client client = new AmazonS3Client();
// List all objects
ListObjectsRequest listRequest = new ListObjectsRequest
{
BucketName = "SampleBucket",
};
ListObjectsResponse listResponse;
do
{
// Get a list of objects
listResponse = client.ListObjects(listRequest);
foreach (S3Object obj in listResponse.S3Objects)
{
Console.WriteLine("Object - " + obj.Key);
Console.WriteLine(" Size - " + obj.Size);
Console.WriteLine(" LastModified - " + obj.LastModified);
Console.WriteLine(" Storage class - " + obj.StorageClass);
}
// Set the marker property
listRequest.Marker = listResponse.NextMarker;
} while (listResponse.IsTruncated);取自http://docs.aws.amazon.com/sdkfornet/latest/apidocs/Index.html
https://stackoverflow.com/questions/28577809
复制相似问题