asp.net 使用Amazon API for .NET设置内容编码和内容类型

oipij1gg  于 5个月前  发布在  .NET
关注(0)|答案(3)|浏览(60)

如何将S3存储桶文件头设置为:
Content-Encoding:gzip
content类型:text/css
我正在使用Amazon API使用SDK for. NET。我正在使用PutObjectRequest上传文件到S3。当文件上传时,内容类型和内容编码头没有更新(我已经通过Amazon Console上的文件属性检查过)。
范例:

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);


我做错了什么?

lzfw57am

lzfw57am1#

当时接受的答案是正确的,但API在2014年更新,所以这是新的方式

PutObjectRequest request = new PutObjectRequest
{
    BucketName = bucketName,
    ContentType = "text/css",
    Key = filename
};
request.Headers["Content-Encoding"] = "gzip";

字符串

4urapxun

4urapxun2#

在2019年,使用最新的API,代码将如下所示:

PutObjectRequest request = new PutObjectRequest {
    BucketName = bucketName,
    ContentType = "text/css",
    Key = filename
};
request.Headers.ContentEncoding = "gzip";

字符串

n1bvdmb6

n1bvdmb63#

您可以像下面这样将content-type添加到API中的contentType属性中

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

字符串
//对于content-encoding //添加以下头

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


希望这能有所帮助

相关问题