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

Node.js斷點續傳上傳

斷點續傳上傳將要上傳的文件分成若干個分片(Part)分別上傳,所有分片都上傳完成后,將所有分片合并成完整的文件,完成整個文件的上傳。

說明

以下示例代碼中的catch語法,請自行學習es6 promise、async/await。關于SDK的使用方式,請參見安裝

關于斷點續傳上傳的更多信息,請參見斷點續傳上傳。您還可以通過設置生命周期規則來定時清理不需要的Part。更多信息,請參見刪除碎片

分片上傳提供progress參數方便用戶傳遞進度回調,在回調中SDK將當前已經上傳成功的比例和斷點信息作為參數。為了實現斷點上傳,可以在上傳過程中保存斷點信息(checkpoint),發生錯誤后,再將已保存的checkpoint作為參數傳遞給multipartUpload,此時將從上次失敗的地方繼續上傳。

示例代碼

以下代碼用于斷點續傳上傳。

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,
  // 填寫Bucket名稱。
  bucket: 'examplebucket',
});

// yourfilepath填寫已上傳文件所在的本地路徑。
const filePath = "yourfilepath";

let checkpoint;
async function resumeUpload() {
  // 重試五次。
  for (let i = 0; i < 5; i++) {
    try {
      const result = await client.multipartUpload('object-name', filePath, {
        checkpoint,
        async progress(percentage, cpt) {
          checkpoint = cpt;
        },
      });
      console.log(result);
      break; // 跳出當前循環。
    } catch (e) {
      console.log(e);
    }
  }
}

resumeUpload();

上述示例代碼將checkpoint保存在變量中,如果程序崩潰,則checkpoint信息會丟失。建議將checkpoint保存在文件中,在程序重啟后則可以從文件中讀取checkpoint信息。

相關文檔

關于斷點續傳上傳的完整示例代碼,請參見GitHub示例