ホームページ > ウェブフロントエンド > フロントエンドQ&A > JavaScript は oss 署名を実装します

JavaScript は oss 署名を実装します

WBOY
リリース: 2023-05-12 13:18:07
オリジナル
785 人が閲覧しました

JavaScript を使用して Alibaba Cloud OSS オブジェクト ストレージ サービスにファイルをアップロードする場合、リクエストの署名を生成する必要があります。この記事では、JavaScript を使用して OSS 署名を実装する方法を紹介します。

    #SDK の紹介
まず、Alibaba Cloud の oss-sdk-js を導入する必要があります。これは、次のコードを通じて導入できます:

<script src="//gosspublic.alicdn.com/aliyun-oss-sdk-6.6.5.min.js"></script>
ログイン後にコピー

    OSS オブジェクトの初期化
コードでは、AK、SK、および Endpoint を使用して OSS オブジェクトを初期化する必要があります:

const client = new OSS({
  accessKeyId: 'YourAccessKeyId',
  accessKeySecret: 'YourAccessKeySecret',
  endpoint: 'YourEndpoint',
  bucket: 'YourBucketName'
})
ログイン後にコピー

そのうち、YourAccessKeyId、YourAccessKeySecret、YourEndpoint、および YourBucketName Alibaba Cloud アカウント AK、SK、Endpoint、および BucketName のものに置き換える必要があります。

    署名の生成
ファイルをアップロードする前に、リクエストの署名を生成する必要があります。署名は次のように生成されます。

const sign = await client.signatureUrl('YourObjectName', {
  expires: 3600,  // 签名有效期,单位是秒
  method: 'PUT'   // 请求方法,可以是PUT或者POST
})
ログイン後にコピー

ここで、YourObjectName はアップロードされたファイル パスです。 Expires は署名の有効期間を表し、カスタマイズ可能で単位は秒です。 Method は要求メソッドを示し、PUT または POST を指定できます。

    ファイルのアップロード
署名を取得した後、JavaScript を介してファイルのアップロードが実装されます。

const file = document.querySelector('input[type=file]').files[0]
client.put('YourObjectName', file, {   
  progress: function* (p) {
    console.log('Progress:', p)
  }
}).then(r => {
    console.log('上传成功')
})
ログイン後にコピー

このうち、file はファイル オブジェクトであり、次のことを行う必要があります。 input[type =file]を取得します。 YourObjectName はアップロードされたファイルのパスを示します。これは署名内のパスと一致している必要があります。 progress は、アップロードの進行状況のコールバック関数を表します。

この時点で、OSS 署名を実装するための Javascript コードが完成しました。上記のコードを使用して、Alibaba Cloud OSS オブジェクト ストレージ サービスにファイルをアップロードできます。

以上がJavaScript は oss 署名を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート