14516


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

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

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

[code]

    using (TransferUtility tUtility = new TransferUtility("access_key", "secret_key"))
    {
        TransferUtilityUploadRequest t = new TransferUtilityUploadRequest();
        t.BucketName = "bucket1";
        t.FilePath = @"C:\Users\a\Desktop\1.jpg";
        t.Key = @"1.jpg";
        t.Timeout = 60000;
        t.StorageClass = S3StorageClass.Standard;
        t.UploadProgressEvent+=displayProgress;
        tUtility.Upload(t);
    }
    
[/code]


CC BY-SA 3.0
2015-08-16T22:30:19.787
14498
2017-06-19T05:09:04.420
2017-06-19T05:09:04.420
5793
7973
question
c# aws amazon-s3
C#でAWS S3に画像アップロード、URL取得


アップロードしたファイルをHTTPで公開する場合は、S3バケットを「[静的Webサイト](https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/WebsiteHosting.html)」として設定します。※設定方法等はドキュメントをご覧いただくとして手順は省かせて頂きます

静的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` となります。

リージョンの名前はこちらの
[ドキュメント](https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/WebsiteEndpoints.html)
を参照してください。


CC BY-SA 3.0
2015-08-17T06:43:54.763
14516
2015-08-17T06:43:54.763
5008
14498
answer


.NET
SDKのリファレンスは英語のみですが、S3のドキュメントは日本語になっているので、読みやすいと思います。以下のURLにC#でのファイルアップロード方法の説明やサンプルが載っています。

<http://docs.aws.amazon.com/AmazonS3/latest/dev/HLuploadFileDotNet.html>

S3 はパーミッションで公開する設定をするか、Bucket Policyで公開する設定をすれば、単純にURL指定でHTTP
GETするだけでアクセスできるWebサーバのように動作します。公開されるURLがどのようになるかは、ドキュメントも参考になると思いますし、マネージメントコンソールでファイルをアップロードして、"Make
Public (ファイルを公開)"をしてそのオブジェクトのプロパティでURLがどうなっているか確認するかでもわかると思います。

上記URLのサンプルでパーミッションを指定しているのは、  
CannedACL = S3CannedACL.PublicRead  
の行です。


CC BY-SA 3.0
2015-08-17T09:39:25.730
14523
2015-08-17T09:39:25.730
5959
14498
answer