amazon-s3 - 使用预签名的 url 从 Amazon s3 存储桶播放音频
问题描述
我已经成功地实现了从 S3 存储桶播放音频文件,并阻止了所有公共访问,并且需要预签名的 url 来获取对象 url。当我在我的音频播放(基本的 html5 音频标签)中使用它时,效果很好。我将过期时间设置为较小的值,比如说 10 秒,我可以播放音频(甚至是几分钟)。但是问题是,有时用户会向前搜索,或者只是我可能会暂停音频,稍后返回并按恢复(播放),我得到 403,因为 url 已过期。我希望将过期时间缩短以防止其他人获取(和下载)真实的音频 url,但是当浏览器尝试播放 403(并且 url 已过期)时,我将如何解决此问题?
我可能认为我需要使用新的 expire 参数再次调用该 url,但我的第一个问题是发生这种情况时我的代码中没有出现 javascript 错误,浏览器控制台中只有 403。那么我怎么能检测到这种情况何时发生呢?
解决方案
推荐阅读
- python - 我无法在 python 3.8 中使用 tensorflow
- javascript - 第二次点击动态路由 404
- python - 在字典中查找包含相等值的键列表
- c# - 如何使用 ASP.NET Core 更改数据库的输出文件夹?
- javascript - how to get paragraph element displayed on hovered over input element
- node.js - 我需要 Nginx 用于生产,我可以只使用 Nodejs 服务器吗?
- java - 扩展应该不那么通用的泛型类
- cakephp-3.0 - CakePHP 一些表单在提交时立即重定向而没有表单数据
- shell - 通过使用命令行参数调用 curl 在请求正文中发送数据
- angular - 表单控件的角度设置值给出错误