我正在使用節點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