通过oss windows工具一次性上传了大量的文件到oss(文件名都是一串英文字母及数字的组合),默认的Content-Disposition信息是空的。
这样用户在下载文件的时候保存的文件名称是一串英文字母及数字的组合,能不能在用户下载的时候生成签名url时通过api设置当前Object的http头?
在产品文档里只找到了上传时添加http头的api,对oss已有文件如何设置http头?(在控制台里看到可以设置,有没有对应的api呢?)
-------------------------
修改文件元信息(Object Meta)
可以通过拷贝操作来实现修改已有文件元信息。如果拷贝操作的源文件地址和目标文件地址相同,都会直接替换源文件的文件元信息。
PHP实现
https://help.aliyun.com/document_detail/oss/sdk/php-sdk/manage_object.html
/**
* 修改文件元信息
* 利用copyObject接口的特性:当目的object和源object完全相同时,表示修改object的文件元信息
*
* @param OssClient $ossClient OSSClient实例
* @param string $bucket 存储空间名称
* @return null
*/
function modifyMetaForObject($ossClient, $bucket)
{
$fromBucket = $bucket;
$fromObject = "oss-php-sdk-test/upload-test-object-name.txt";
$toBucket = $bucket;
$toObject = $fromObject;
$copyOptions = array(
OssClient::OSS_HEADERS => array(
'Expires' => '2012-10-01 08:00:00',
'Content-Disposition' => 'attachment; filename="xxxxxx"',
),
);
try{
$ossClient->copyObject($fromBucket, $fromObject, $toBucket, $toObject, $copyOptions);
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
print(__FUNCTION__ . ": OK" . "\n");
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。