Hello,
Hope everyone is doing fine.
I am working on project with MVC and SQL database, where I am storing files on aws s3.
I am looking for Upload, Fetch, Download & Delete code from aws s3.
I got Upload code , but it says - Access Denied. Following is the Upload code :
[HttpPost] public ActionResult Index(HttpPostedFileBase file) { var s3Client = new AmazonS3Client(accesskey, secretkey, bucketRegion);
var fileTransferUtility = new TransferUtility(s3Client);
try { if (file.ContentLength > 0) { //var filePath = Path.Combine(Server.MapPath("~/MemoryImage"), Path.GetFileName(file.FileName)); var filePath = HttpContext.Server.MapPath("~/MemoryImage/" + file.FileName + ""); file.SaveAs(filePath); var fileTransferUtilityRequest = new TransferUtilityUploadRequest { BucketName = bucketName, FilePath = filePath, StorageClass = S3StorageClass.StandardInfrequentAccess, PartSize = 6291456, // 6 MB. Key = keyName, CannedACL = S3CannedACL.PublicReadWrite }; fileTransferUtilityRequest.Metadata.Add("param1", "Value1"); fileTransferUtilityRequest.Metadata.Add("param2", "Value2"); fileTransferUtility.Upload(fileTransferUtilityRequest); fileTransferUtility.Dispose(); } ViewBag.Message = "File Uploaded Successfully!!"; }
catch (AmazonS3Exception amazonS3Exception) { if (amazonS3Exception.ErrorCode != null && (amazonS3Exception.ErrorCode.Equals("InvalidAccessKeyId") || amazonS3Exception.ErrorCode.Equals("InvalidSecurity"))) { ViewBag.Message = "Check the provided AWS Credentials."; } else { ViewBag.Message = "Error occurred: " + amazonS3Exception.Message; } } return RedirectToAction("Index"); }
plz let me know if any solution.
Thank You !