全部產品
Search
文件中心

Object Storage Service:Node.js重新命名檔案

更新時間:Nov 01, 2024

OSS不支援直接對檔案(Object)進行重新命名。如果您需要在同一個Bucket內對Object進行重新命名,您可以通過CopyObject介面將源Object拷貝至目標Object,然後通過DeleteObject介面刪除源Object。

範例程式碼

以下代碼用於將examplebucket中的srcobject.txt檔案重新命名為destobject.txt。

const OSS = require('ali-oss');
const client = new OSS({
  // yourregion填寫Bucket所在地區。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
  region: 'oss-cn-hangzhou',
  // 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // 填寫Bucket名稱。
  bucket: 'examplebucket',
})

async function renameObject() {
  try {
    // 將srcobject.txt拷貝至同一Bucket下的destobject.txt。
    const r = await client.copy('destobject.txt', 'srcobject.txt');
    console.log('拷貝成功', r);
    // 刪除srcobject.txt。
    const deleteResult = await client.delete('srcobject.txt');
    console.log(deleteResult);
  } catch (e) {
    console.log(e);
  }
}

renameObject();
說明

OSS也不支援直接對目錄進行重新命名。如果需要重新命名目錄,您可以參考以上樣本對該目錄下的子目錄和Object逐個進行重新命名操作。

相關文檔

關於重新命名檔案涉及的API介面說明,請分別參見CopyObjectDeleteObject