S3 和签名 URL:上传和检索的视频无法播放

Lad*_*bro 6 amazon-s3 video-streaming dropzone.js

我已经敲了几个小时的头试图弄清楚这一点:

我正在使用 Dropzone.js 使用预签名 URL 将视频文件上传到私有 S3 存储桶。目标是稍后检索该文件并使用video元素播放它。

如果我没有将 设为Content-Typexhr 请求上的文件类型,S3 会将其默认为application/octet-stream. 文件上传成功并位于存储桶中的预期位置。

当我尝试使用签名 URL 检索此文件并将其用作我的 的源时video,它不会播放 - 元素因错误而变灰。此外,如果我在浏览器中访问它,它会在我点击 URL 时下载该文件,而不是播放它。

我做了研究,发现它正在下载而不是流式传输,因为我没有指定它是视频,所以我尝试这样做。

如果我确实设置Content-Type为'video/mp4'为并使用签名 URL 检索它,它既不会在视频元素中播放,也不会在浏览器中播放或下载。看起来这使得该文件由于某种原因无法使用。

我已经通过使用手动上传到 S3 的文件(而不是通过 Dropzone 上传)来验证我的检索和播放代码是否正常工作。上传过程中出现问题,无论是使用 Dropzone 还是 S3,我无法弄清楚。