能够从Amazon S3下载,而不仅仅是流文件

问题描述:

我有Amazon S3,其中存储了所有的文件。目前,我的用户可以访问他们可以流式传输的链接,但不能下载音频和视频文件。我如何通过Amazon S3或者Amazon CloudFront建立一个可以让某人下载MP3文件的链接?能够从Amazon S3下载,而不仅仅是流文件

感谢您的任何建议!

您必须将文件的内容标题设置为浏览器可识别的媒体类型以外的内容。例如:

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响应的内容类型,内容语言,过期, 缓存控制,内容处理和内容编码。要在GET响应中覆盖这些标头值 ,请使用下表中描述的请求 参数。 (linke above)