Amazon S3からファイルをダウンロードする(保護付き)

Home > Amazon S3 > 例04

説明

これはAmazon S3にファイルをダウンロードする例です。S3に保存されたファイルに'Public-Read'パーミッションがない場合、クレデンシャル処理が必要になることがあるので、'Region/Bucket/AccessKey/SecretAccessKey'の情報が必要になる。ただし、'AccessKey/SecretAccessKey'のような情報は外部に公開することは想定されていないので、人前で使うのは危険です。AWSの認証情報を公開せずにダウンロードするには、バックエンドで署名済みのアドレスを生成し、そのアドレスを使ってファイルをダウンロードします。

dx.setDownloadMode("AWSS3");
dx.setAWSS3DownloadConfig({
    //type: "SECRET",
    signedURL: dx5.canonicalize("../service/awss3-download-geturl.do"),
});

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

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

Singe-file download

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

Multiple-files download