Настройка кодировки и типа контента с помощью Amazon API для .NET - PullRequest
4 голосов
/ 06 октября 2011

Как мне установить следующий заголовок файла корзины S3:

content-encoding: gzip content-type: text / css

Я использую Amazon API, используя SDK для.СЕТЬ.Я загружаю файл на S3, используя PutObjectRequest.Проблема в том, что при загрузке файла тип контента и заголовки кодировки контента не обновляются (я проверил через свойства файлов в консоли Amazon).

пример:

 request.AddHeader("expires", EXPIRES_DATE);
 request.AddHeader("content-encoding", "gzip");         
 request.ContentType = "text/css";

Также попробовал:

NameValueCollection metadata = new NameValueCollection();
metadata.Add("content-type", "text/css");
metadata.Add("content-encoding", "gzip");
request.WithMetaData(metadata);

Что я делаю не так?

Ответы [ 3 ]

2 голосов
/ 03 февраля 2017

Принятый ответ был правильным в то время, но API обновился в 2014 году, так что это новый способ

PutObjectRequest request = new PutObjectRequest
{
    BucketName = bucketName,
    ContentType = "text/css",
    Key = filename
};
request.Headers["Content-Encoding"] = "gzip";
1 голос
/ 15 марта 2019

В 2019 году, используя последний API, код будет выглядеть так:

PutObjectRequest request = new PutObjectRequest {
    BucketName = bucketName,
    ContentType = "text/css",
    Key = filename
};
request.Headers.ContentEncoding = "gzip";
1 голос
/ 22 декабря 2011

вы добавляете content-type к свойству contentType в API, как показано ниже

 PutObjectRequest request = new PutObjectRequest();
    string contentType = "text/css";
    request = request.WithContentType(contentType); 

// для кодирования контента // добавляем следующий заголовок

request.AddHeader("content-encoding","gzip");

надеюсь, что это может помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...