我有Amazon S3,我的所有文件都存储在其中。目前,我的用户可以转到他们可以流式传输的链接,但不能下载音频和视频文件。如何通过Amazon S3或Amazon CloudFront建立链接,允许某人下载MP3文件或具有此类性质的内容?
感谢您的任何建议!
答案 0 :(得分:1)
您必须将文件的内容标题设置为浏览器可以理解的媒体类型以外的标题。例如:
Content-Disposition: attachment; filename=FILENAME.EXT
Content-Type: application/octet-stream
如果你想拥有这两种功能(显示/查看能力和下载能力)并且过去必须通过EC2或其他令人讨厌的方式代理文件下载,这曾经是一个大问题。现在S3内置了它:
http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html
您可以使用查询覆盖一组响应标头的值 下表中列出的参数。这些响应标头值 仅在成功请求时发送,即状态代码200时 确定返回。您可以使用这些标题覆盖的标题集 参数是Amazon S3在您接受的标头的子集 创建一个对象。您可以覆盖的响应标头 GET响应是Content-Type,Content-Language,Expires, 缓存控制,内容处理和内容编码。要覆盖 GET响应中的这些标头值,您使用该请求 参数如下表所示。 (林克上面)