Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / web / ASP.NET

Upload Base64 Data to S3 using AWS SDK in ASP.NET MVC

3.00/5 (1 vote)
9 Feb 2015CPOL 17.7K  
How to save or upload Base64 data to S3 using AWS SDK in ASP.NET MVC

In this post, we will learn how to save or upload Base64 data to S3 using AWS SDK in ASP.NET MVC. You can check the previous post here on how to store files in Amazon S3 using AWS SDK in ASP.NET MVC.

Implementation

First, you need to convert the Base64 string to Byte Array and then we convert that into Stream object and send that request to S3.

Use the following snippet of code to save Base64 or Byte Array data S3.

C#
private static readonly string _awsAccessKey = ConfigurationManager.AppSettings["AWSAccessKey"];

private static readonly string _awsSecretKey = ConfigurationManager.AppSettings["AWSSecretKey"];

private static readonly string _bucketName = ConfigurationManager.AppSettings["Bucketname"];

public ActionResult UploadToS3(string base64String)
{
    try
    {
        IAmazonS3 client;
        byte[] bytes = Convert.FromBase64String(base64String);

        using (client = Amazon.AWSClientFactory.CreateAmazonS3Client(_awsAccessKey, _awsSecretKey))
        {
            var request = new PutObjectRequest
            {
                BucketName = _bucketName,
                CannedACL = S3CannedACL.PublicRead,
                Key = string.Format("UPLOADS/{0}", file.FileName)
            };
            using (var ms = new MemoryStream(bytes))
            {
                request.InputStream = ms;
                client.PutObject(request);
            }
        }
    }
    catch (Exception ex)
    {
        

    }
    return View();
}

The post Upload Base64 data to S3 using AWS SDK in ASP.NET MVC appeared first on Venkat Baggu Blog.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)