将视频文件上传到S3存储桶(React js)

时间:2018-11-03 21:43:17

标签: reactjs amazon-web-services amazon-s3

如何使用React JS将视频文件上传到S3存储桶。我目前正在开发React JS应用程序,必须将视频文件上传到S3存储桶中。我进行了很多搜索,但只能找到“图片” 上传的部分。但是我想知道如何将视频文件上传到S3存储桶(有效方式)。如果有人知道,请分享您的答案。

谢谢。

2 个答案:

答案 0 :(得分:1)

使用本教程中使用的multer-s3节点软件包:https://www.youtube.com/watch?v=ASuU4km3VHE&t=3s

像这样将contentType:multerS3.AUTO_CONTENT_TYPE添加到multer对象。

var upload = multer({
  storage: multerS3({
    s3: s3,
    bucket: 'some-bucket',
    contentType: multerS3.AUTO_CONTENT_TYPE,
    metadata: function (req, file, cb) {
      cb(null, {fieldName: file.fieldname});
    },
    key: function (req, file, cb) {
      cb(null, Date.now().toString())
    }
  })
})

这将在您上传视频文件时将存储桶对象的Content-type元数据设置为video / quicktime。可以使用媒体播放器和s3中的对象url播放这些视频对象。

答案 1 :(得分:0)

从技术上讲,上传视频就像上传任何二进制文件(例如图片,音频文件等)一样。但是,由于这些视频文件很快就会变得太大,因此建议您使用以下一种或多种方法:

  • 分段上传:如果文件大于100MB,则强烈建议使用。它可以帮助您提高吞吐量,恢复中断的上传以及暂停和恢复上传的能力。了解更多here

  • S3传输加速:使用CDN的用户将被上传到地理位置更近的位置,这也将为他们加快速度。了解更多here

一些有用的库进行检出:EvaporateJSreact-s3-uploader-multipart