ASP.NET MVC - 将图像上传到Amazon S3

Mat*_*w H 11 c# asp.net amazon-s3 asp.net-4.0 asp.net-mvc-2

我有来自Request.Files [0]的图片.现在,如何将此图像上传到S3?我看到,在AWS .NET API中,您必须在放置一个字符串对象时指定ContentBody.我如何获得文件的内容正文?

Mat*_*w H 17

var file = Request.Files[0];
PutObjectRequest request = new PutObjectRequest();
request.BucketName = "mybucket"
request.ContentType = contentType;
request.Key = key;
request.InputStream = file.InputStream;
s3Client.PutObject(request);
Run Code Online (Sandbox Code Playgroud)


bra*_*ler 11

有关如何使用文件夹以及授予所有用户只读访问权限的详细信息.HTML:

C#

HttpPostedFileBase file = Request.Files[0];
   if (file.ContentLength > 0) // accept the file
        {
            string accessKey = "XXXXXXXXXXX";
            string secretKey = "122334XXXXXXXXXX";
            AmazonS3 client;
            using (client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey, secretKey))
            {
                MemoryStream ms = new MemoryStream();
                PutObjectRequest request = new PutObjectRequest();
      request.WithBucketName("mybucket")
     .WithCannedACL(S3CannedACL.PublicRead)
     .WithKey("testfolder/test.jpg").InputStream = file.InputStream;
       S3Response response = client.PutObject(request);
            }
Run Code Online (Sandbox Code Playgroud)

更多细节可在此处获取:http://bradoyler.com/post/3614362044/uploading-an-image-with-aws-sdk-for-net-c