首页 > 解决方案 > 使用预签名的 url 从 Amazon s3 存储桶播放音频

问题描述

我已经成功地实现了从 S3 存储桶播放音频文件,并阻止了所有公共访问,并且需要预签名的 url 来获取对象 url。当我在我的音频播放(基本的 html5 音频标签)中使用它时,效果很好。我将过期时间设置为较小的值,比如说 10 秒,我可以播放音频(甚至是几分钟)。但是问题是,有时用户会向前搜索,或者只是我可能会暂停音频,稍后返回并按恢复(播放),我得到 403,因为 url 已过期。我希望将过期时间缩短以防止其他人获取(和下载)真实的音频 url,但是当浏览器尝试播放 403(并且 url 已过期)时,我将如何解决此问题?

我可能认为我需要使用新的 expire 参数再次调用该 url,但我的第一个问题是发生这种情况时我的代码中没有出现 javascript 错误,浏览器控制台中只有 403。那么我怎么能检测到这种情况何时发生呢?

标签: amazon-s3audio

解决方案


推荐阅读