0

I am working a on nodejs restful api and trying to upload file on S3 using multer but its not working also i am not getting any error .

here is a code from my Controller

var aws = require('aws-sdk')
var express = require('express')
var multer = require('multer')
var multerS3 = require('multer-s3')
var bodyParser = require('body-parser')
var uuid = require('uuid').v4;

aws.config.update({
  secretAccessKey: '',
  accessKeyId: '' ,
  region: 'us-west-2'
});

var app = express();
var s3 = new aws.S3();

app.use(bodyParser.json());

var upload = multer({
  storage: multerS3({
    s3: s3,
    bucket: 'stack',
    key: function (req, file, cb) {
      console.log(file);
      cb(null, req.s3key)
    }
  })
})

var fileUpload = upload.array('attachments',1);


function uploadToS3(req, res){
  req.s3key = uuid();
  let downloadUrl = 'https://s3-us-west-2.amazonaws.com/stack/'+req.s3key;
  return new Promise((resolve,reject) => {
    return fileUpload(req, res, err=> {
      if(err) return reject(err);
      return resolve(downloadUrl)
    }) 
  })
}

exports.uploadImagetoS3 = (req, res) => {
        uploadToS3(req,res).then(downloadUrl=> {
          console.log(downloadUrl);
        });
}

What am i missing here??

1 Answers1

0

Can you try catch block for error log if there is any missing then it will display in log.

`exports.uploadImagetoS3 = (req, res) => {
    uploadToS3(req,res).then(downloadUrl=> {
      console.log(downloadUrl);
    }).catch(error=>{

console.log(error) });` }

aum trivedi
  • 129
  • 4