Closed Lionad-Morotar closed 4 years ago
原来中间要加短横线 '-'
obs.setObjectMetadata({
Bucket,
Key: '0.styles.0b1f98ca.css',
MetadataDirective: 'REPLACE',
Metadata: {
'Content-Encoding': 'gzip',
'Content-Type': 'text/html'
}
}).then(response => {
// console.log(response)
})
这样就搞定了...
不过,尽管设置了对的元数据。OBS 返回文件时并没有携带我想要的 Content-Type。见下图,控制台显示我已经设置了正确的 Content-Type,第二张图显示了浏览器请求时,返回的错误的 Content-Type
如果手动在控制台设置对象的元数据,则不会出现该问题。
ContentEncoding, ContentType是单独的参数,metaData是用户自定义的元数据参数 https://github.com/huaweicloud/huaweicloud-sdk-nodejs-obs/blob/9957cfd1c2111471489d20938690d66983c62c6f/lib/obsModel.js#L2572
ContentEncoding, ContentType是单独的参数,metaData是用户自定义的元数据参数 https://github.com/huaweicloud/huaweicloud-sdk-nodejs-obs/blob/9957cfd1c2111471489d20938690d66983c62c6f/lib/obsModel.js#L2572
Nice~ 晚上我试试
通过 obs.setObjectMetadata 设置对象的自定义 data,能成功,但是最终会被服务器转换为小写名称,如下:
我想要定义 'ContentType' 和 'ContentEncoding',但是上传之后自动转为了 'contenttype' 和 'contentencoding'。额,有什么快速解决方案吗?