【问题标题】:S3 multipart upload using API Gateway and Lambda Function使用 API Gateway 和 Lambda 函数的 S3 分段上传
【发布时间】:2018-11-07 14:52:17
【问题描述】:

我正在开发一个 React JS Web 应用程序。从此应用程序中,用户可以将他们的照片/视频上传到 S3 存储桶中。而且视频大小也很高(超过 300MB)。所以我决定使用 分段上传 方法将视频文件上传到 S3 存储桶中。在查看了 Multipart 之后,我理解了这个 multipart 概念,但我无法在我的 React 项目中实现它。所以我带着几个关于 Multipart 如何与 React 或其他前端一起工作的问题来到这里。

这是我的问题,

在我的应用程序中,我决定使用 AWS API Gateway 和 Lambda 函数将视频文件上传到 S3 存储桶。我正在通过我的 React JS POST 调用使用 API 网关发送视频文件。问题是,无论是在 React 代码端还是在 Lambda 函数中,multipart 实际上在哪里执行或工作?

我使用 Content-Type 创建了 API 网关:“multipart/form-data”。

主要问题 -> 是使用 React 代码端还是在 Lambda 函数中执行分段上传以将视频文件上传到 S3 存储桶。

提前致谢。

【问题讨论】:

    标签: reactjs amazon-s3 aws-lambda multipartform-data aws-api-gateway


    【解决方案1】:

    使用分段上传时,不需要 Lambda 函数。 React 应用将直接上传到 S3。

    你应该检查已经构建的东西,比如react-dropzone-s3-uploader-multipart

    【讨论】:

    • 也看看这个其他问题stackoverflow.com/questions/51017765/…
    • 感谢您回复 mostafazh。在 uppy.io 中,serverUrl 是什么?是预先签名的 s3 存储桶 url 还是别的什么?
    • 为了提高安全性,uppy 需要一个配套服务器(可在此处找到:uppy.io/docs/companion),您需要将其提供给示例代码。
    • 我只是在尝试使用 react-s3-uploader-multipart npm 包。但是我不断收到以下错误,我不知道我在哪里犯了错误。 s3upload.js:64 Uncaught TypeError: Cannot convert undefined or null to object at Function.assign () at S3Upload.push../node_modules/react-s3-uploader-multipart/s3upload.js.S3Upload.uploadToS3 (s3upload .js:64) 在 S3Upload.push../node_modules/react-s3-uploader-multipart/s3upload.js.S3Upload.uploadFile (s3upload.js:95)
    • 您能否认为此问题已得到解答并针对您的编码问题提出一个新问题?
    猜你喜欢
    • 2019-02-14
    • 2018-11-09
    • 2020-03-23
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    相关资源
    最近更新 更多