NAVER CLOUD PLATFORM Object Storageからファイルをダウンロードする (保護付き)

Home > NAVER CLOUD PLATFORM Object Storage > 例04

説明

NAVER CLOUD PLATFORM Object Storageからファイルをダウンロードする例です。Object Storageに保存されているファイルが'Public-Read'権限を持っていない場合、クレデンシャル処理が必要になる場合があるため、'Region/Bucket/Accesskey/SecretAccesskey'の情報が必要になります。しかし、'AccessKey/SecretAccessKey'のような情報は外部に公開されることは想定されていないため、公共の場で使用するのは危険である。認証情報を公開せずにダウンロードするには、バックエンドで署名済みのアドレスを生成し、そのアドレスを使ってファイルをダウンロードします。

// NCPOSメソッドを設定する。
dx.setDownloadMode("NCPOS");
dx.setNCPOSDownloadConfig({
    //type: "SECRET",
    signedURL: dx5.canonicalize("../service/ncpos-download-geturl.do"),
});

バックエンドアドレスは、ファイルのダウンロードに必要な署名付きアドレスを生成して返す役割を果たします。バックエンドから署名付きアドレスを返すには、AWSが提供するSDKを利用する必要がある。サンプルプロジェクトでは、必要なAWS SDKのJARファイルをWEB-INF/libディレクトリに配置しています。

AWS SDKを使用した署名付きアドレス生成の詳細については、NCPOSControllerクラスとNCPOSDownloadHelperクラスを参照してください。

Singe-file download

単一ファイルのダウンロードでは、署名されたアドレスでダウンロードする場合、ターゲットは同じソースからではないので、ブラウザはターゲットをダウンロードして直接開くことはできないかもしれない。

Multiple-files download

テストするには、NCPOSDownloadHelperクラスでACESSKEY_ID、SECRET_ACCESSKEY、REGION、BUCKET_NAMEを設定する必要がある。