拷贝文件
本文介绍如何拷贝文件(Object)。
拷贝文件时,对文件元信息的处理有两种选择:
- 如果没有指定meta参数,则与源文件相同,即拷贝源文件的元信息。
- 如果指定了meta参数,则使用新的元信息覆盖源文件的元信息。
以下代码用于拷贝同一个Bucket内的文件:
let OSS = require('ali-oss');
var client = new OSS({
bucket: 'bucket',
region: 'oss-cn-xxx',
accessKeyId: 'ak',
accessKeySecret: 'aksecret',
// secure: true
})
// 拷贝同一个Bucket内的文件。
client.copy('test_copy', 'test').then((res) => {
console.log(res);
}).catch(e => {
console.log(e);
})
以下代码用于拷贝同一个Region下的两个不同Bucket内的文件:
let OSS = require('ali-oss')
let client = new OSS({
region: '<Your region>',
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>',
bucket: '<Your bucket name>',
});
async function copy () {
try {
// 拷贝同一个Region下的两个不同Bucket内的文件时,源Object名字应为 '/bucket/object' 的形式。
let result = await client.copy('to', '/from-bucket/from');
console.log(result);
// 拷贝元信息。
let result = await client.copy('to', 'from');
console.log(result);
// 覆盖元信息。
let result = await client.copy('to', 'from', {
meta: {
year: 2015,
people: 'mary'
}
});
console.log(result);
} catch (e) {
console.log(e);
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论