2016-11-27 6 views
0

У меня есть файл SVG на amazon s3. Когда я запускаю следующую команду для загрузки файла:aws s3 копировать файл типа

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

Загружает его в виде двоичного файла. Однако, если я непосредственно перехожу на консоль и загружаю из графического интерфейса, он корректно загружается в виде текстового/XML-файла.

Любые идеи о том, как сохранить тип содержимого файла с помощью aws s3 cp?

+0

Что такое 'Content-Encoding' файла, как показано на консоли S3? –

+0

содержание-engoding говорит 'gzip'. Есть ли способ массовой загрузки файлов в их исходном формате? –

+0

Вы получаете «оригинальный» формат с точки зрения S3. S3 не изменяет контент - никогда. Это можно объяснить только файлами, которые были загружены до того, как они были первоначально загружены на S3, при этом заголовок «Content-Encoding» правильно настроен для указания этого. Браузеры обычно распаковываются «на лету», когда объект сжат, и «Content-Encoding: gzip» присутствует, но CLI этого не делает. –

ответ

0

Вы можете использовать content-type вариант команды cp (см полный doc для справки)

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

, который не исправил ее. Он почти выглядит как 's3 cp' шифрует или сжимает файл. Загруженный svg значительно меньше по размеру. –

+0

Обновление: Похоже, наше ведро s3 обслуживало файлы, закодированные в формате gzip. Когда вы нажимаете на svg в браузере, он отображает штраф, но при загрузке он получает gzip-файл. Я не думаю, что проблема 's3 cp'. –