使用MVC直接与Amazon S3对话

时间:2011-06-22 09:13:17

标签: asp.net-mvc amazon-s3

我正在编写一个MVC 3应用程序,需要允许用户直接将文件上传到S3。我还需要显示一个进度条。我见过的所有例子都是PHP或Ruby-on-Rails相关的。有没有人设法使用MVC直接(从客户端浏览器)将文件上传到S3?

1 个答案:

答案 0 :(得分:2)

所以,在我的头撞到我的键盘的一个上午之后,下面的代码片段工作(删除了明显的凭据):

using (AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client("Access_Key", 
                                                                      "Secret_Key"))
{
    PutObjectRequest request = new PutObjectRequest();
    request.WithBucketName("BUCKET-NAME")
           .WithCannedACL(S3CannedACL.PublicRead)
           .WithKey("myDirectory/" + 
                    HttpContext.Current.Server.UrlEncode(fileBase.FileName))
           .InputStream = fileBase.InputStream;
    S3Response response = client.PutObject(request);
}