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

Browser.js初始化

ClientOSS Browser.js的客戶端,用于管理存儲空間和文件等OSS資源。使用Browser.js SDK發(fā)起OSS請求時,您需要初始化一個Client實例,并根據(jù)需要修改默認配置項。

前提條件

已安裝Browser.js SDK。具體操作,請參見安裝

新建Client

V4簽名(推薦)

推薦使用更安全的V4簽名算法。使用V4簽名初始化時,需要聲明authorizationV4。OSS Browser.js SDK 6.20.0及以上版本支持V4簽名。

以使用OSS域名初始化時使用V4簽名為例,其他通過自定義域名等初始化的場景可參考以下示例執(zhí)行相應(yīng)修改。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
  </head>
  <body>
    <!--導(dǎo)入SDK文件-->
    <script
      type="text/javascript"
      src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.20.0.min.js"
    ></script>
    <script type="text/javascript">
      const client = new OSS({
        // yourRegion填寫B(tài)ucket所在地域。以華東1(杭州)為例,yourRegion填寫為oss-cn-hangzhou。
        region: 'yourRegion',
	authorizationV4: true,
        // 從STS服務(wù)獲取的臨時訪問密鑰(AccessKey ID和AccessKey Secret)。
        accessKeyId: 'yourAccessKeyId',
        accessKeySecret: 'yourAccessKeySecret',
        // 從STS服務(wù)獲取的安全令牌(SecurityToken)。
        stsToken: 'yourSecurityToken',
        // 填寫B(tài)ucket名稱,例如examplebucket。
        bucket: "examplebucket",
      });
    </script>
  </body>
</html>

V1簽名(不推薦)

重要

阿里云對象存儲OSS20250301日起不再對新用戶(即新UID )開放使用V1簽名,并將于20250901日起停止更新與維護且不再對新增Bucket開放使用V1簽名。請盡快切換到V4簽名,避免影響服務(wù)。更多信息,請參見公告說明

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
  </head>
  <body>
    <!--導(dǎo)入SDK文件-->
    <script
      type="text/javascript"
      src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.18.0.min.js"
    ></script>
    <script type="text/javascript">
      const client = new OSS({
        // yourRegion填寫B(tài)ucket所在地域。以華東1(杭州)為例,yourRegion填寫為oss-cn-hangzhou。
        region: 'yourRegion',
        // 從STS服務(wù)獲取的臨時訪問密鑰(AccessKey ID和AccessKey Secret)。
        accessKeyId: 'yourAccessKeyId',
        accessKeySecret: 'yourAccessKeySecret',
        // 從STS服務(wù)獲取的安全令牌(SecurityToken)。
        stsToken: 'yourSecurityToken',
        // 填寫B(tài)ucket名稱,例如examplebucket。
        bucket: "examplebucket",
      });
    </script>
  </body>
</html>

配置Client

您可以在初始化Client時按需添加配置項,例如通過timeout指定請求超時時間,通過stsToken指定臨時訪問憑證等。關(guān)于Browser.js支持的配置項以及配置示例,具體參數(shù)請參考下方說明。

options參數(shù)說明:

  • accessKeyId {String}:在阿里云控制臺網(wǎng)站上創(chuàng)建的訪問密鑰。

  • accessKeySecret {String}:在阿里云控制臺創(chuàng)建的訪問密鑰秘密。

  • [stsToken] {String}:用于臨時授權(quán)。

  • [refreshSTSToken] {Function}:當(dāng)STS信息過期時自動設(shè)置stsToken、accessKeyId、accessKeySecret的函數(shù)。返回值必須是包含stsToken、accessKeyId、accessKeySecret的對象。

  • [refreshSTSTokenInterval] {number}:STS令牌刷新間隔時間(毫秒)。應(yīng)小于STS信息的過期間隔,默認為300000毫秒(5分鐘)。

  • [bucket] {String}:您想訪問的默認Bucket。如果沒有Bucket,請先使用putBucket()創(chuàng)建一個。

  • [endpoint] {String}:OSS區(qū)域域名。優(yōu)先級高于region。根據(jù)需要設(shè)置為外網(wǎng)域名、內(nèi)網(wǎng)域名或加速域名等,請參考終端節(jié)點列表。

  • [region] {String}:Bucket數(shù)據(jù)所在的區(qū)域位置,默認為oss-cn-hangzhou。

  • [internal] {Boolean}:是否通過阿里云內(nèi)網(wǎng)訪問OSS,默認為false。如果您的服務(wù)器也在阿里云上運行,可以設(shè)置為true以節(jié)省大量費用。

  • [secure] {Boolean}:指示OSS客戶端使用HTTPS(secure: true)還是HTTP(secure: false)協(xié)議。

  • [timeout] {String|Number}:針對所有操作的實例級別超時時間,默認為60秒。

  • [cname] {Boolean}:默認為false,使用自定義域名訪問OSS。如果為true,則可以在endpoint字段中填寫自定義域名。

  • [isRequestPay] {Boolean}:默認為false,表示是否開啟Bucket的請求者支付功能,如果為true,會向OSS服務(wù)器發(fā)送頭部'x-oss-request-payer': 'requester'。

  • [useFetch] {Boolean}:默認為false,僅在瀏覽器環(huán)境中生效。如果為true,意味著使用fetch模式上傳對象,否則使用XMLHttpRequest。

  • [enableProxy] {Boolean}:啟用代理請求,默認為false。注意啟用代理請求時,請確保已安裝proxy-agent。

  • [proxy] {String | Object}:代理URI或選項,默認為null。

  • [retryMax] {Number}:當(dāng)請求因網(wǎng)絡(luò)錯誤或超時出錯時自動重試發(fā)送請求的最大次數(shù)。不支持流式上傳(如put、putStream、append等),因為流只能被消費一次。

  • [maxSockets] {Number}:每個主機允許的最大套接字數(shù)。默認為無限。

  • [authorizationV4] {Boolean}:使用V4簽名。默認為false。

示例

  • 基本用法

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

const store = new OSS({
  region: 'yourRegion',
  authorizationV4: true,
  accessKeyId: 'your access key',
  accessKeySecret: 'your access secret',
  stsToken: 'yourSecurityToken',
  bucket: 'your bucket name',
});
  • 使用加速訪問endpoint:

說明

全球加速訪問endpoint:oss-accelerate.aliyuncs.com

中國內(nèi)地以外區(qū)域的加速訪問endpoint:oss-accelerate-overseas.aliyuncs.com

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

const store = new OSS({
  region: 'yourRegion',
  authorizationV4: true,
  accessKeyId: 'your access key',
  accessKeySecret: 'your access secret',
  stsToken: 'yourSecurityToken',
  bucket: 'your bucket name',
  endpoint: 'oss-accelerate.aliyuncs.com',
});
  • 使用自定義訪問方式

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

const store = new OSS({
  region: 'yourRegion',
  authorizationV4: true,
  stsToken: 'yourSecurityToken',
  accessKeyId: 'your access key',
  accessKeySecret: 'your access secret',
  cname: true,
  endpoint: 'your custome domain',
});
  • 使用STS Token訪問

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

const store = new OSS({
  region: 'yourRegion',
  authorizationV4: true,
  accessKeyId: 'your STS key',
  accessKeySecret: 'your STS secret',
  stsToken: 'your STS token',
  refreshSTSToken: async () => {
    const info = await fetch('you sts server');
    return {
      accessKeyId: info.accessKeyId,
      accessKeySecret: info.accessKeySecret,
      stsToken: info.stsToken,
    };
  },
  refreshSTSTokenInterval: 300000,
});
  • 使用流重新嘗試請求

for (let i = 0; i <= store.options.retryMax; i++) {
  try {
    const result = await store.putStream('<example-object>', fs.createReadStream('<example-path>'));
    console.log(result);
    break; // break if success
  } catch (e) {
    console.log(e);
  }
}
  • 使用V4簽名,并使用可選的additionalHeaders選項(類型為字符串?dāng)?shù)組),其中的值需要包含在標頭中。

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

const store = new OSS({
  accessKeyId: 'your access key',
  accessKeySecret: 'your access secret',
  bucket: 'your bucket name',
  region: 'oss-cn-hangzhou',
  authorizationV4: true ,
  stsToken: 'yourSecurityToken',
});

try {
  const bucketInfo = await store.getBucketInfo('your bucket name');
  console.log(bucketInfo);
} catch (e) {
  console.log(e);
}

try {
  const putObjectResult = await store.put('your bucket name', 'your object name', {
    headers: {
      // The headers of this request
      header1: 'value1',
      header2: 'value2',
    },
    // The keys of the request headers that need to be calculated into the V4 signature. Please ensure that these additional headers are included in the request headers.
    additionalHeaders: ['additional header1', 'additional header2'],
  });
  console.log(putObjectResult);
} catch (e) {
  console.log(e);
}