Amazon S3バケットは必ず「米国東部(バージニア北部)」リージョンで作成してください。そうしない場合、アップロードは機能せず、AWSから「InvalidRequest」エラーが表示されますのでご注意ください。
Sailsを使用すると、ごくわずかな追加設定で、ファイルアップロードをAmazon S3にストリーミングできます。
まず、S3 Skipperアダプターをインストールします。
npm install skipper-s3 --save
次に、コントローラーのいずれかでそれを使用します。
uploadFile: function (req, res) {
req.file('avatar').upload({
adapter: require('skipper-s3'),
key: 'S3 Key',
secret: 'S3 Secret',
bucket: 'Bucket Name'
}, function (err, filesUploaded) {
if (err) return res.serverError(err);
return res.ok({
files: filesUploaded,
textParams: req.allParams()
});
});
}