Ändern Sie die Content-Disposition des vorhandenen S3-Objekts

8

In der S3-REST-API füge ich Metadaten zu einem vorhandenen Objekt hinzu, indem ich den PUT (Copy) -Befehl benutze und einen Schlüssel an den gleichen Ort mit 'x-amz-metadata-directive' = 'REPLACE'

kopiere

Ich möchte den Namen der heruntergeladenen Datei ändern, indem ich Folgendes setze:

%Vor%

Dies legt die Metadaten richtig fest, aber wenn ich die Datei herunterlade, wird immer noch der Schlüsselname anstelle von 'foo.bar' verwendet

Ich benutze ein Software-Tool S3 Browser, um die Metadaten zu sehen und es sieht richtig aus (abgesehen von 'Content-Disposition' ist alles Kleinbuchstaben, da das war S3 bitten Sie mich zu unterschreiben)

Dann mit S3 Browser habe ich nur gedrückt, dann speichern, ohne etwas zu ändern und jetzt funktioniert es ???

Was fehlt mir, wie funktioniert das Einstellen einer Metadaten 'Content-Disposition: attachment; filename=foo.bar;' von meiner Web App nicht, funktioniert aber von S3 Browser?

    
Daveo 10.04.2010, 15:00
quelle

2 Antworten

7

Gelöst:

Die Doco bei Ссылка

scheint falsch zu sein, heißt es:

Beachten Sie, wie die 'x-amz-' Header sortiert, Leerzeichen abgeschnitten, konvertiert werden und mehrere Header mit demselben Namen mit einem Komma verbunden wurden, um die Werte zu trennen.

Beachten Sie, dass nur die Content-Type- und Content-MD5HTTPentity-Header in StringToSign angezeigt werden. Die OtherContent- * -Entity-Header nicht. Content-Disposition muss jedoch spezifisch festgelegt werden und nicht als: x-amz-meta-Content-Disposition

enthalten sein

Es funktioniert jetzt gut.

    
Daveo 10.04.2010, 23:15
quelle
0

hier: Dies verwendet den CLI, um den Content-Disposition-Header für alle Dateien in einem Pfad innerhalb eines Buckets festzulegen (und legt sie auch als public fest):

%Vor%     
FuzzyAmi 15.03.2018 18:06
quelle

Tags und Links