對象存儲OSS存儲的文件(Object)信息包含Key、Data和Object Meta。Object Meta是對文件的屬性描述,包括HTTP標準屬性(HTTP Header)和用戶自定義元數據(User Meta)兩種。您可以通過設置HTTP標準屬性來自定義HTTP請求的策略,例如文件(Object)緩存策略、強制下載策略等。您還可以通過設置用戶自定義元數據來標識Object的用途或屬性等。
上傳文件時指定文件元數據
使用put
、putStream
和multipartUpload
時,都可以通過指定meta參數來指定文件的元數據:
const OSS = require('ali-oss');
const client = new OSS({
// yourregion填寫Bucket所在地域。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
region: 'yourRegion',
// 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
// 填寫Bucket名稱。
bucket: 'examplebucket'
});
async function put() {
try {
let meta = { year: 2016, people: 'mary' };
let result = await client.put('object-name', path.normalize('D:\\localpath\\examplefile.txt'), meta);
console.log(result);
} catch (e) {
console.log(e);
}
}
put();
修改已有文件的文件元數據
您還可以通過putMeta接口來更新文件元數據:
const OSS = require('ali-oss');
const client = new OSS({
// yourregion填寫Bucket所在地域。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
region: 'yourRegion',
// 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
// 填寫Bucket名稱。
bucket: 'examplebucket'
});
async function putMeta() {
try {
let meta = { year: 2023, people: 'mary' };
let result = await client.putMeta('object-name', meta);
console.log(result);
} catch (e) {
console.log(e);
}
}
putMeta();
文檔內容是否對您有幫助?