关于django:Amazon S3上托管的照片的文件下载对话框

File download dialog for photos hosted on Amazon S3

我的Web应用程序将在Amazon S3上托管完整尺寸的照片,我们将S3用作媒体服务器。我们还允许用户下载完整尺寸的照片。我们的Web服务器在其他托管公司上。在我们的Web应用程序上,我们如何强制一个"文件下载"对话框,而不是直接从Amazon S3 URL在浏览器中显示照片?例如,图片网址可以是" http://my.s3.amazonaws.com/12345.jpg"

一种解决方案是将图像下载到运行Django的Web服务器,然后强制执行文件下载对话框,但是这将占用两倍的带宽,并且下载时间也将增加一倍。

谢谢!


查看是否可以让S3将文件的内容类型指定为application / octet-stream。

我刚刚验证了这一点。在AWS管理控制台中,您可以选择一个文件,单击Properties(属性),选择Metadata(元数据)选项卡,然后将Content-Type设置为" binary / octet-stream "。如果是image / jpeg它将显示在浏览器中。如果将其更改为二进制/八位字节流,则会强制浏览器下载它。