2017-08-31 219 views
1

从我的ReactJS应用程序以普通的JavaScript将文件上传到AWS S3的方法是什么?reactJS文件上传到AWS S3

有没有办法只用REST或aws sdk来做到这一点?

感谢

回答

3

多天前,我用putObject方法上传到亚马逊S3的文件。我在我的MVC架构项目中实现了这个功能。我希望看到下面的示例代码,它可能对您有所帮助。

注意:可能你在ReactJs中有不同的方式,但是在S3上传文件基于IAmazon接口的uObject PutObjectRequest()方法将保持不变。

下面的配置方法是在我的基础控制器。

public static IAmazonS3 Configuration() 
{ 
    var config = new Amazon.S3.AmazonS3Config(); 
    config.RegionEndpoint = RegionEndpoint.USEast1; 

    var credentials = new Amazon.Runtime.BasicAWSCredentials(ConfigurationManager.AppSettings["AWSAccessKey"], ConfigurationManager.AppSettings["AWSSecurityKey"]); 
      return Amazon.AWSClientFactory.CreateAmazonS3Client(credentials, config); 
} 

下面的代码,我在我的控制器中使用文件上传操作。

HttpPostedFileBase uploadFile = uploadfileCollection[i]; 
var fileName = Path.GetFileName(uploadFile.FileName); 
fileforAPI += fileName + ','; 

var putrequest = new PutObjectRequest() 
{ 
    BucketName = ConfigItems.AWSServiceFinanceSampleFileBucket, 
    Key = "FinanceData" + finalUploadFilePathOnS3 + fileName, 
    InputStream = uploadFile.InputStream, 
    CannedACL = S3CannedACL.PublicReadWrite 
}; 


PutObjectResponse response = client.PutObject(putrequest); 

if (!response.HttpStatusCode.ToString().Equals("OK")) 
{ 
    isUploadedSuccessfully = false; 
    break; 
}