ノードAWS-SDKを使用して既存のS3バケットにファイルをアップロードしています。下のコードでは、ファイルは最終的にアップロードされますが、ステータスコードは何も返されないようです。また、ファイルが正常にアップロードされると、return文は実行されません。s3ファイルのアップロードで応答が返されない
コード
exports.create = function(req, res) {
\t var stream = fs.createReadStream(req.file.path);
\t var params = {
\t \t Bucket: 'aws bucket',
\t \t Key: req.file.filename,
\t \t Body: stream,
\t \t ContentLength: req.file.size,
\t \t ContentType: 'audio/mp3'
\t };
\t var s3upload = s3.upload(params, options).promise();
\t
\t s3upload
\t \t .then(function(data) {
\t \t \t console.log(data);
\t \t \t return res.sendStatus(201);
\t \t })
\t \t .catch(function(err) {
\t \t \t return handleError(err);
\t \t });
}
ログ
POST /api/v0/episode/upload - - ms - -
POST /api/v0/episode/upload - - ms - -
{ Location: 'https://krazykidsradio.s3-us-west-2.amazonaws.com/Parlez-vous%2BFrancais.mp3',
Bucket: 'krazykidsradio',
Key: 'Parlez-vous+Francais.mp3',
ETag: '"f3ecd67cf9ce17a7792ba3adaee93638-11"' }
あなたはfs.createReadStream()を完全に間違って使用しています。 – Darkrum