文件元信息(Object Meta)是对上传到OSS的文件的属性描述,包括HTTP标准属性(HTTP Header)和用户自定义元信息(User Meta)两种。

HTTP标准属性

名称 描述
Content-Type 指定Object的内容类型。内容类型决定浏览器将以什么形式、什么编码读取文件。如果没有指定内容类型,则根据文件的扩展名生成。如果文件没有扩展名,则内容类型的默认值application/octet-stream
Content-Encoding 用于标识Object的编码方式。
  • identity(默认值):不压缩。
  • gzip:采用Lempel-Ziv coding(LZ77) 压缩算法,以及32位CRC校验的编码方式。
Content-Language 指定Object使用的语言。
Content-Disposition 指定Object的展示形式。

可选值:

  • inline:预览Object。
  • attachment:将Object下载到本地。例如attachment; filename="example.jpg",表示下载Object到本地并以example.jpg文件名进行保存。
注意 在以下情况中通过浏览器访问OSS内的Object,即使Content-Disposition取值为inline,也会直接下载Object:
  • Object为网页文件,未使用Bucket绑定的自定义域名进行访问。
  • Object为图片文件,Object所在的Bucket于2019年9月23日之后创建,且未使用Bucket绑定的自定义域名进行访问。
  • 请求的Object为浏览器不支持预览的类型。
Cache-Control 指定Object的缓存行为。
  • no-cache:不可直接使用缓存,而是先到服务端验证Object是否已更新。若Object已更新,表明缓存已过期,需从服务端重新下载Object;若Object未更新,表明缓存未过期,此时将使用本地缓存。
  • no-store:所有内容都不会被缓存。
  • public:所有内容都将被缓存。
  • private:所有内容只在客户端缓存。
  • max-age=<seconds>:缓存内容的相对过期时间,单位为秒。此选项仅在HTTP 1.1中可用。
Expires 缓存内容的绝对过期时间,格式是格林威治时间(GMT)。例如2022-10-12T00:00:00.000Z。若Cache-Control设置了max-age=<seconds>,以max-age=<seconds>为准。
Last-Modified Object的最后修改时间。
Content-Length Object的大小,单位为字节。

用户自定义元信息

OSS规定所有以x-oss-meta-为前缀的参数视为用户自定义元信息(User Meta),例如x-oss-meta-last-modified:20200909,可用于记录本地文件最后修改时间为2020年9月9日。

  • 一个Object可以有多个自定义元信息,但所有的User Meta总大小不能超过8 KB。
  • 调用GetObject或者HeadObject接口时,将在HTTP头部中返回User Meta信息。

操作方式

您可以选用如下任意方式设置、获取以及修改文件元信息。

操作方式 说明
控制台 Web应用程序,直观易用。
图形化工具 ossbrowser 图形化工具,易操作。
命令行工具 ossutil 命令行工具,性能好。
Java SDK 丰富、完整的各类语言 SDK demo。
Python SDK
PHP SDK
Go SDK
C++ SDK
C SDK
.NET SDK
Node.js SDK
Android SDK