【问题标题】:React JS : Upload CSV file To Amazon S3 using AWS credentialsReact JS:使用 AWS 凭证将 CSV 文件上传到 Amazon S3
【发布时间】:2020-07-14 13:53:43
【问题描述】:

我想使用 React S3 Uploader 上传 CSV 文件。我也有 AWS 凭证。但是我不知道如何在 React JS 中使用它。

下面是我使用的代码。

import React, { PureComponent } from "react";
import ReactS3Uploader from "react-s3-uploader";


 saveUploaderReference = uploader => {
    if (uploader) {
      this.uploaderReference = uploader;
    }
  };
  
  
  getSignedUrl = (file) => {
     console.log("File : " , file)
  };

  


<ReactS3Uploader
            ref={this.saveUploaderReference}
            getSignedUrl={this.getSignedUrl}
            s3path="temp/"
            uploadRequestHeaders={{}}
            contentDisposition="auto"
            scrubFilename={filename => this.filename}
            autoUpload={true}
            multiple={false}
          />

我不知道在哪里使用 AWS 凭证。

我有 accessKeyID 和 secretAccessID。我不知道在哪里使用它。

任何帮助都会很棒。

谢谢。

【问题讨论】:

    标签: javascript reactjs amazon-web-services amazon-s3 file-upload


    【解决方案1】:

    您不会将凭据直接传递给react-s3-uploader。这将是一个巨大的安全问题。

    您至少有两种处理方式:

    • 使用presigned urls。这是您授予对 S3 项目的访问权限以在没有凭据的情况下上传项目的一种方式(凭据实际上在 url 中)。您需要一个后端来执行此操作。这也是react-s3-uploader推荐的方式
    • 对未经身份验证的用户使用AWS Cognito Identity pool

    【讨论】:

    • 感谢您的回答。没有用于此的后端 API。后端开发人员将从 AWS S3 存储桶中获取文件路径。所以我必须从前面上传文件。
    • 然后尝试使用 Cognito。您需要在 AWS 端进行一些配置,但它会起作用。
    • 我是新手.. 有什么可行的例子吗?这会很有帮助。
    【解决方案2】:

    正如 Radu Diță 在第二个选项中已经提到的,为此使用 AWS Cognito。无需设置自己的后端服务器 + API。

    此外,当您使用 React + AWS 进行开发时,Amplify 会为您提供帮助。

    这是您的方案的一个很好的示例: https://serverless-stack.com/chapters/create-a-login-page.html

    【讨论】:

    • 我是新手.. 有什么可行的例子吗?会有帮助的
    • 这里是一步一步的指南,让你开始:amplify-workshop.go-aws.com
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    相关资源
    最近更新 更多