日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Node.js刪除文件

重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。

您可以根據需要刪除單個文件(Object)、刪除指定的多個文件、刪除指定前綴的文件或者刪除指定目錄及目錄下的所有文件。

警告

請您謹慎使用刪除操作,文件刪除后將無法恢復。

刪除單個文件

以下代碼用于刪除examplebucket中的exampleobject.txt文件。

const OSS = require('ali-oss');

const client = new OSS({
  // oss-cn-hangzhou填寫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 deleteObject() {
  try {
    // 填寫Object完整路徑。Object完整路徑中不能包含Bucket名稱。
    const result = await client.delete('exampleobject.txt');
    console.log(result);
  } catch (error) {
    console.log(error);
  }
}

deleteObject();

批量刪除文件

手動刪除文件時,每次最多刪除1000個文件。您可以刪除指定的多個文件、刪除指定前綴的文件或者刪除指定目錄及目錄下的所有文件。

手動刪除多個文件時,返回結果包括如下兩種模式:

  • 詳細模式(verbose):OSS返回的消息體中會包含所有刪除Object的結果。默認采用詳細模式。

  • 簡單模式(quiet):OSS不返回消息體。

OSS還支持通過設置生命周期規則來自動刪除文件。更多信息,請參見基于最后一次修改時間的生命周期規則。

刪除指定名稱的多個文件

以下代碼用于刪除指定名稱的多個文件。

const OSS = require('ali-oss');

const client = new OSS({
  // oss-cn-hangzhou填寫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 deleteMulti() {
  try {
    // 填寫需要刪除的多個Object完整路徑并設置返回模式為詳細模式。Object完整路徑中不能包含Bucket名稱。
    // let result = await client.deleteMulti(['exampleobject-1', 'exampleobject-2', 'testfolder/sampleobject.txt']);
    // console.log(result);
    // 填寫需要刪除的多個Object完整路徑并設置返回模式為簡單模式。Object完整路徑中不能包含Bucket名稱。
    const result = await client.deleteMulti(['exampleobject-1', 'exampleobject-2', 'testfolder/sampleobject.txt'], {quiet: true});
    console.log(result);
  } catch (error) {
    console.log(error);
  }
}

deleteMulti();

刪除指定前綴或目錄下的多個文件

以下代碼用于刪除指定前綴的多個文件或者指定目錄(文件夾)及目錄下的所有文件。

警告

如果以下示例代碼中前綴prefix的值為空字符串或者NULL,將會刪除整個Bucket內的所有文件,請謹慎使用。

const OSS = require('ali-oss');

const client = new OSS({
  // oss-cn-hangzhou填寫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',
});

// 處理請求失敗的情況,防止promise.all中斷,并返回失敗原因和失敗文件名。
async function handleDel(name) {
  try {
    await client.delete(name);
  } catch (error) {
    error.failObjectName = name;
    return error;
  }
}

// 刪除多個文件。
async function deletePrefix(prefix) {
  const list = await client.list({
    prefix: prefix,
  });

  list.objects = list.objects || [];
  const result = await Promise.all(list.objects.map((v) => handleDel(v.name)));
  console.log(result);
}
// 如果您需要刪除所有前綴為src的文件,則prefix設置為src。設置為src后,所有前綴為src的非目錄文件、src目錄以及目錄下的所有文件均會被刪除。
deletePrefix('src');
// 如果您僅需要刪除src目錄及目錄下的所有文件,則prefix設置為src/。
// deletePrefix('src/');

相關文檔

  • 關于刪除單個或多個文件的完整示例代碼,請參見GitHub示例

  • 關于刪除單個文件的API接口說明,請參見DeleteObject。

  • 關于刪除多個文件的API接口說明,請參見DeleteMultipleObjects。