C#でAWS S3に画像アップロード、URL取得

投稿者: Anonymous

アップロードは下記コードで成功しました。
アップロードしたファイルに
全員に公開と公開したURLを取得したいです。

公式リファレンスは英語で解読できません。
http://docs.aws.amazon.com/sdkfornet/v3/apidocs/Index.html

Google検索してもそのような情報はありませんでした。

using (TransferUtility tUtility = new TransferUtility("access_key", "secret_key"))
{
    TransferUtilityUploadRequest t = new TransferUtilityUploadRequest();
    t.BucketName = "bucket1";
    t.FilePath = @"C:UsersaDesktop1.jpg";
    t.Key = @"1.jpg";
    t.Timeout = 60000;
    t.StorageClass = S3StorageClass.Standard;
    t.UploadProgressEvent+=displayProgress;
    tUtility.Upload(t);
}

解決

アップロードしたファイルをHTTPで公開する場合は、S3バケットを「静的Webサイト」として設定します。※設定方法等はドキュメントをご覧いただくとして手順は省かせて頂きます

静的Webサイトとして設定したS3バケットは<bucket-name>.s3-website-<AWS-region>.amazonaws.comというURLでアクセス出来ます。<bucket-name> は アップロードしたバケット名、<AWS-region> は S3 のリージョンを指定して下さい。

例えば、 US-East-1 リージョンの バケット名「mybucket」の「/hoge.jpg」ファイルのURLは http://mybucket.s3-website-us-east-1.amazonaws.com/hoge.jpg となります。

リージョンの名前はこちらの ドキュメント を参照してください。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *