2010-12-18 9 views
1

Meine Webanwendung wird in voller Größe Fotos auf Amazon S3 Host und wir verwenden S3 als unseren Medienserver. Wir erlauben den Nutzern auch, die Fotos in voller Größe herunterzuladen. Unser Webserver befindet sich in einem anderen Hosting-Unternehmen. Wie können wir in unserer Webanwendung das Dialogfeld Dateidownload erzwingen, anstatt das Foto direkt aus einer Amazon S3-URL im Browser anzuzeigen? Zum Beispiel könnte die Bild-URL "http://my.s3.amazonaws.com/12345.jpg"Datei-Download-Dialog für Fotos gehostet auf Amazon S3

Eine Lösung wäre, das Bild auf unseren Webserver, der Django läuft, zu laden, und dann erzwingen Datei-Download-Dialog, kostet aber auch doppelte Bandbreite und verdoppelt die Download-Zeit.

Danke!

Antwort

2

Sehen Sie, wenn Sie S3 erhalten können, um den Inhaltstyp der Dateien als application/octet-stream anzugeben.

Ich habe dies gerade verifiziert. In der AWS Management Console können Sie eine Datei auswählen, auf Eigenschaften klicken, die Registerkarte Metadaten auswählen und dann den Inhaltstyp auf "binary/octet-stream" setzen. Wenn es z.B. image/jpeg wird im Browser angezeigt. Wenn es zu binary/octet-stream geändert wird, zwingt es den Browser, es stattdessen herunterzuladen.