前言
一、两种方式
第一种方法:在上传文件时设置过期时间
在使用 putObject
方法上传文件时,可以通过设置 x-oss-expires
和 x-oss-delete-after
头部来设定文件的过期时间。
以下是示例代码:
javascript">const OSS = require('ali-oss');
const client = new OSS({
a***essKeyId: '<yourA***essKeyId>',
a***essKeySecret: '<yourA***essKeySecret>',
bucket: '<yourBucketName>',
region: '<yourBucketRegion>',
});
async function uploadToOSS() {
try {
const result = await client.put('yourObjectName', 'yourLocalFilepath', {
headers: {
'x-oss-expires': '315360000', // 设置 10 年过期时间
'x-oss-delete-after': '3650', // 设置删除后 10 年才能再次删除
},
});
console.log(result);
} catch (e) {
console.log(e);
}
}
uploadToOSS();
上述代码中,我们在 headers
中添加了 x-oss-expires
和 x-oss-delete-after
头部来设定文件的过期时间,其中 x-oss-expires
的值为 315360000(即 10 年),x-oss-delete-after
的值为 3650(即删除后 10 年才能再次删除)。
需要注意的是,使用 putObject
方法上传文件时,如果文件已经存在,则会直接覆盖原有文件。在此情况下设置的过期时间会直接应用到新上传的文件上,而不会受到原有文件过期时间的影响。如果您需要对已存在的文件进行修改过期时间,请使用 Object Lifecycle 功能进行管理。
第二种方法:通过 Object Lifecycle 功能设置过期时间
在阿里云 OSS 的控制台或者其他 SDK 中,可以使用 Object Lifecycle 功能来管理文件的生命周期,其中就包括设置过期时间等功能。以下是具体的操作步骤:
- 登录阿里云官网后,在控制台中找到您的 OSS 服务,并进入 Bucket 列表页面。
- 在 Bucket 列表页面中,找到想要管理的 Bucket,点击“管理”按钮进入该 Bucket 的详情页面。
- 在 Bucket 详情页面的左侧菜单栏中,找到并点击“生命周期”选项。
- 在生命周期页面中,可以设置各种规则来管理 Object 的生命周期,包括过期时间、转换、归档等等。在此处可以根据您的需求设置相应规则,例如设置指定前缀的文件在一定时间后自动转换存储类型,或者在一定时间后进行归档等等。具体的规则设置方式请参考官方文档。
总之,Object Lifecycle 功能可以使得用户更加容易地管理文件的生命周期,从而避免因为遗忘或者其他原因导致文件过期或者浪费空间等问题。