title: MulterS3 is giving this.client.send is not a function error
body: <p><strong>Note:</strong>
  Getting below error in multer s3. This error is pointing NPM module and I really don't understand the issue with this module. I have used upload.single as well as upload.array method to check the working of this module. But not working.</p>
  <p><strong>Code:</strong></p>
  <pre><code>const bodyParser = require('body-parser');
  const cors = require('cors');
  
  const aws = require('aws-sdk');
  const multer = require('multer');
  const multerS3 = require('multer-s3');
  
  const http = require('http');
  const app = express();
  
  app.set('port', 3000);
  app.use(
    bodyParser.json({
      limit: '50mb'
    })
  );
  app.use(
    bodyParser.urlencoded({
      limit: '50mb',
      extended: true
    })
  );
  app.use(cors());
  
  aws.config.update({
    accessKeyId: '',
    secretAccessKey: ''
  });
  
  s3 = new aws.S3();
  
  const upload = multer({
    storage: multerS3({
      s3: s3,
      bucket: '',
      acl: 'public-read',
      contentType: multerS3.AUTO_CONTENT_TYPE,
      metadata: function (req, file, cb) {
        cb(null, {
          fieldName: file.fieldname
        });
      },
      key: function (req, file, cb) {
        let extArray = file.mimetype.split('/');
        let ext = extArray[extArray.length - 1];
  
        console.log(`ext -&gt;&gt; `, ext, ` file.fieldname -&gt;&gt; `, file.fieldname);
  
        cb(null, &quot;test/&quot; + Date.now().toString() + '.' + ext);
      },
      /* limits: {
        fileSize: 1024 * 1024 * 10
      } */
    })
  });
  
  (() =&gt; {
    server = http.createServer(app).listen(app.get('port'), () =&gt; {
      console.debug(`Server started -&gt;&gt; `);
      app.get('/test', (req, res) =&gt; {Mul
        res.send('Hello');
      });
  
      app.post('/media', upload.single('media'), (req, res) =&gt; {
        console.log(`req.files -&gt;&gt; `, req.file);
        res.send('Thanks for you waiting time');
      });
    });
  })();
  </code></pre>
  <p><strong>Error:</strong></p>
  <pre><code>ext -&gt;&gt;  jpeg  file.fieldname -&gt;&gt;  media
  TypeError: this.client.send is not a function
      at Upload.__uploadUsingPut (/home/tristate/Jay/Force/node_modules/@aws-sdk/lib-storage/dist-cjs/Upload.js:52:25)
      at Upload.__doConcurrentUpload (/home/tristate/Jay/Force/node_modules/@aws-sdk/lib-storage/dist-cjs/Upload.js:99:39)
      at process._tickCallback (internal/process/next_tick.js:68:7)
  </code></pre>
  <p>Looking solution with multer-s3. Thank you in advance.</p>