拷贝文件
使用copy拷贝一个文件。拷贝可以发生在下面两种情况:
var co = require('co');
var OSS = require('ali-oss')
var client = new OSS({
region: '<Your region>',
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>',
bucket: 'Your bucket name'
});
co(function* () {
// 两个Bucket之间拷贝
var result = yield client.copy('to', '/from-bucket/from');
console.log(result);
// 拷贝元信息
var result = yield client.copy('to', 'from');
console.log(result);
// 覆盖元信息
var result = yield client.copy('to', 'from', {
meta: {
year: 2015,
people: 'mary'
}
});
console.log(result);
}).catch(function (err) {
console.log(err);
});
var co = require('co');
var OSS = require('ali-oss')
var client = new OSS({
region: '<Your region>',
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>',
bucket: 'Your bucket name'
});
co(function* () {
var result = yield client.delete('object-key');
console.log(result);
}).catch(function (err) {
console.log(err);
});
var co = require('co');
var OSS = require('ali-oss')
var client = new OSS({
region: '<Your region>',
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>',
bucket: 'Your bucket name'
});
co(function* () {
var result = yield client.deleteMulti(['obj-1', 'obj-2', 'obj-3']);
console.log(result);
var result = yield client.deleteMulti(['obj-1', 'obj-2', 'obj-3'], {
quiet: true
});
console.log(result);
}).catch(function (err) {
console.log(err);
});
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您已经正确地概述了使用阿里云对象存储服务(OSS)进行文件操作的几种关键方法,包括拷贝文件、删除单个文件以及批量删除文件。下面是对您提到的操作的简要总结和补充说明:
通过copy
方法,您可以实现以下功能: - 内部拷贝:在同一Bucket内或不同Bucket但位于同一Region内的文件拷贝。 - 元信息处理: - 默认情况下,拷贝后的文件将保留源文件的所有元数据。 - 如果需要,可以通过提供meta
参数来覆盖原有元数据,自定义目标文件的元信息。
使用delete
方法可以轻松删除指定的文件。只需提供文件的键名(object-key),即可从Bucket中移除该文件。
deleteMulti
方法允许一次操作删除多个文件,提高了效率。此方法接受一个包含待删除文件键名的数组,并且: - 可以通过设置quiet
参数为true
来简化响应,此时仅返回错误信息而不会列出每个成功删除的文件。这对于大量文件操作时减少响应体积很有帮助。 - 当quiet
为false
或未指定时,响应会详细列出每个文件的删除结果,包括成功和失败的情况。
region
, accessKeyId
, accessKeySecret
, 和 'Your bucket name'
为实际的认证信息和Bucket名称。co
库来处理异步操作,这是基于Promise的流程控制工具,确保按顺序执行异步任务。如果您的项目中未使用co
,也可以直接使用async/await语法来达到同样的效果,这在现代Node.js应用中更为常见。阿里云OSS提供了丰富的API和SDK,支持多种编程语言,确保开发者能够灵活高效地管理云端存储资源。