将文件上传到s3存储桶

时间:2015-09-16 07:38:54

标签: c# .net amazon-web-services amazon-s3

我正在尝试将我的文件上传到s3存储桶,但我不希望从我的本地计算机上传该文件,而是当某人使用该应用程序并上传文件时应将其直接上传到我的s3桶。!!有没有办法做到这一点?(代码应该在.net中)

Uncaught SyntaxError: Unexpected token :

这就是我正在做的事情......然后它会在存储桶中创建一个文件夹并从本地计算机获取文件路径,并将其上传到存储桶。

我需要的是该文件不应保存在本地计算机中,而应直接从应用程序转移到s3存储桶。

这是WriteIntoS3方法:

            string filekey = filePath.Substring(filePath.LastIndexOf('\\') + 1);
            using (MemoryStream filebuffer = new MemoryStream(File.ReadAllBytes(filePath)))
            {
                PutObjectRequest putRequest = new PutObjectRequest
                {
                    BucketName = this.awsBucketName,
                    Key = "GUARD1" + "/" + filekey,
                    InputStream = filebuffer,
                    ContentType = "application/pkcs8",
                };

1 个答案:

答案 0 :(得分:1)

如果您不想使用本地文件,则可以使用 TransferUtility 类将流直接上传到S3。

例如:

using Amazon.S3.Transfer;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        var client = new Amazon.S3.AmazonS3Client();
        using (var ms = new MemoryStream()) // Load the data into memorystream from a data source other than a file
        {
            using (var transferUtility = new TransferUtility(client))
            {
                transferUtility.Upload(ms, "bucket", "key");
            }
        }
    }
}