OSS支持用户在上传时指定"x-oss-meta-"前缀的header作为自定义header,用于存储文件的一些标识信息等自定义的信息,并在下载(GetObject/HeadObject)时作为返回头返回给用户。但是在某些场景下用户需要使用非"x-oss-meta-"前缀的header作为自定义header,比如用户的数据原来存储在自建的存储设备上,并且自定义了一些header,现在数据迁移到OSS上,需要保持这些header不变,因此OSS提供了相应的机制用来实现这个需求。
一 传入方式 1、通过"x-oss-persistent-headers"这个请求头传入 这个请求头的格式如下:
x-oss-persistent-headers: key1:base64_encode(value1),key2:base64_encode(value2)....
其中key1/key2等为自定义的header,value2/value2等为对应自定义header的值,base64_encode指做base64编码,即将自定义header和对应值的base64编码作为一个key-value对用冒号连接,然后用逗号将所有的key-value对连接起来,放在x-oss-persistent-headers这个header中即可。
例子:假如我要自定义两个header,分别为myheader1/myheader2,值分别为myvalue1/myvalue2,则需要在上传时指定下面这个头
x-oss-persistent-headers:myheader1:bXl2YWx1ZTE=,myheader2:bXl2YWx1ZTI=
这种方式适用于PutObject()/CopyObject()/AppendObject()/CompleteMultipartUpload()上传方式
2、通过"x-oss-persistent-headers"这个表单域传入 这个表单域的值格式与上面1所述相同,这种传入方式适用于PostObject(),即表单上传
3、镜像回源时源站返回"x-oss-persistent-headers" 如果用户通过OSS的镜像回源功能,也想保存类似的自定义header,则需要镜像源站返回"x-oss-persistent-headers"头,格式与1所述相同。这种方式适用于镜像回源。http://click.aliyun.com/m/1000005536/