AWS S3バケットから取得したオブジェクトの何らかの種類のストリーム(おそらくメモリストリーム?)を返すかどうかを調べようとしています。AWS S3からストリームとしてオブジェクトを取得
S3バケットには、さまざまな種類の画像やドキュメントなどが含まれています。これらはすべて自分のウェブサイトで使用する必要があります。しかし、私はAWS S3バケットへのパスを表示したくありません。
これは、フルパスではなく、ストリームを作成し、画像とダウンロード可能な文書をその場で表示しようとしている理由です。これは理にかなっていますか? :-)
私はC#/。NET AWS SDKを使用しています。
どのようなアイデアや方向性が指摘されているのを楽しみにしています! .NET 4で
public FileStream GetFile(string keyName)
{
using (client = new AmazonS3Client(Amazon.RegionEndpoint.USEast2))
{
GetObjectRequest request = new GetObjectRequest
{
BucketName = bucketName,
Key = keyName
};
using (GetObjectResponse response = client.GetObject(request))
using (Stream responseStream = response.ResponseStream)
using (StreamReader reader = new StreamReader(responseStream))
{
// The following outputs the content of my text file:
Console.WriteLine(reader.ReadToEnd());
// Do some magic to return content as a stream
}
}
}
バケットへのパスを非表示にする場合は、これが動作します。http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html – moondaisy