全部產品
Search
文件中心

Object Storage Service:Node.js判斷檔案是否存在

更新時間:Nov 01, 2024

對儲存空間(Bucket)中的任意檔案(Object)進行相關操作前,您需要先判斷該檔案是否存在。

以下代碼用於判斷檔案是否存在:

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,
  authorizationV4: true,
  // yourBucketName填寫儲存空間名稱。
  bucket: 'yourBucketName',
});

async function isExistObject(name, options = {}) {
  try {
      await client.head(name, options);
      console.log('檔案存在')
   }  catch (error) {
      if (error.code === 'NoSuchKey') {
        console.log('檔案不存在')
      }
   }
}
// 用於判斷未開啟版本控制狀態的Bucket中的Object是否存在。
// yourObjectName填寫不包含Bucket名稱在內的Object的完整路徑,例如example/test.txt。
const name = 'yourObjectName'
isExistObject(name)

// 用於判斷受版本控制Bucket中指定versionId的Object是否存在。
const options = {
    // YourObjectVersionId填寫Object的versionId。
    versionId: 'YourObjectVersionId' 
}
isExistObject(name, options)