我正在尝试为我的用户构建一种非常简单的方法,通过我的网站从aws下载音频内容。这是流程:
因此,从用户的角度来看,我希望该过程与我确定的URL一样简单,并在提示时接受下载文件。
在后台,我想保持aws s3 url对用户隐藏,我希望在用户接受下载后能够灵活地编写回调逻辑。
实现这一目标的推荐方法是什么?
答案 0 :(得分:0)
解决此问题的最佳方法是创建一个生命周期很短(10分钟?)的S3网址,并返回重定向到S3网址。这确实会将S3网址暴露给用户,但不是漏洞。
如果要隐藏S3 URL,则需要通过服务器代理下载,这很昂贵,并且会长时间使用工作进程。我不推荐这个,但它是隐藏S3资源的唯一方法。
此外,如果触发下载与视图非常重要,则需要设置Content-Disposition标头以触发附件下载:
Content-Disposition: attachment; filename="fname.ext"