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 サイトの他の関連記事を参照してください。