説明
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を設定する必要がある。 |