2016-11-27 8 views
0

Ich habe eine SVG-Datei auf Amazon S3. Wenn ich den folgenden Befehl zum Herunterladen der Datei ausführen:aws s3 Kopieren Dateityp

aws s3 cp s3://mybucket/test.svg . 

Es wird als Binärdatei heruntergeladen. Wenn ich jedoch direkt zur Konsole gehe und von der GUI herunterlade, wird sie korrekt als Text/XML-Datei heruntergeladen.

Haben Sie Ideen, wie Sie den Dateiinhaltstyp mit aws s3 cp erhalten?

+0

Was ist der ' 'Content-Encoding' der Datei (voll doc Referenz sehen), wie sie in der S3-Konsole angezeigt? –

+0

content-engoding sagt 'gzip'. Gibt es eine Möglichkeit, die Dateien in ihrem ursprünglichen Format herunterzuladen? –

+0

Sie erhalten das "Original" -Format aus der Sicht von S3. S3 verändert den Inhalt nicht - je. Dies kann nur dadurch erklärt werden, dass die Dateien gezippt werden, bevor sie ursprünglich in S3 hochgeladen wurden, wobei der Header "Content-Encoding" korrekt eingestellt ist, um dies anzuzeigen. Browser dekomprimieren im Allgemeinen dynamisch, wenn das Objekt komprimiert ist und "Content-Encoding: gzip" vorhanden ist, das CLI jedoch nicht. –

Antwort

0

können Sie die content-type Option des cp Befehl

aws s3 cp s3://mybucket/test.svg . --content-type 'image/svg+xml' 
+0

, die es nicht behoben haben. Es sieht fast so aus als würde 's3 cp' die Datei verschlüsseln oder komprimieren. Die heruntergeladene SVG ist deutlich kleiner. –

+0

Update: Sieht so aus, als ob unser s3-Bucket gzip-kodierte Dateien bedient. Wenn man im Browser auf die Svg klickt, wird es gerendert, aber beim Herunterladen bekommt man die gezippte Datei. Kein 's3 cp' Problem, denke ich. –