将HttpPostedFile上传到S3

时间:2009-12-10 04:26:10

标签: c# .net amazon-s3

我正在帮助当地一所学校开展一些涉及.Net和S3的项目。 其中我对两者都不熟悉。我们希望通过Flash上​​传表单上传文件,然后通过.Net将其存储在Amazon S3上。我已下载并浏览了这些示例,但此时我已陷入困境。

 public string postFile(HttpPostedFile file)
   {
       var recFile = file;
       try
       {
       var client = AWSClientFactory.CreateAmazonS3Client(accessKeyID, secretAccessKeyID);
           var request = new PutObjectRequest();
           request.WithMetaData("title", "the title")
                    .WithContentBody(???)
                    .WithBucketName(bucketName)
                    .WithKey(keyName);

           using (S3Response response = client.PutObject(request))
           {
               return keyName;
           }
       }
       ......

我认为这是要走的路,但不知道如何让它真正起作用。 如果是这样的话,我会坚持下去,但是会感谢任何有过这方面经验的人。感谢。

1 个答案:

答案 0 :(得分:2)

这有效吗?

public string postFile(HttpPostedFile file)
{
    var recFile = file;
    try
    {
        var client = AWSClientFactory.CreateAmazonS3Client(accessKeyID, secretAccessKeyID);
        var request = new PutObjectRequest();

        request.WithMetaData("title", "the title")
        request.WithInputStream(recFile.InputStream); //** Using InputStream
        request.WithBucketName(bucketName);
        request.WithKey(keyName);

        using (S3Response response = client.PutObject(request))
        {
            return keyName;
        }
    ......