node.js - How to use multer-imager npm module in nodejs and upload my image resized to amazon s3 bucket? -


/********app.js***********/  var express = require('express'),     aws = require('aws-sdk'),     bodyparser = require('body-parser'),     multer = require('multer'),     imager = require('multer-imager'),     multers3 = require('multer-s3');    var app = express(),   app.use(bodyparser.json());   var upload = multer({  storage: imager({     dirname: 'avatar',     bucket: 'my bucket',     accesskeyid: 'myaccesskey',     secretaccesskey: 'secretaccesskey',     region: 'asia pacific (mumbai)',     signatureversion: 'v4',     filename: function (req, file, cb) {                 cb(null, date.now())                      },                                          gm: {                                         width: 200,                                height: 200,       options: '!',       format: 'png'                             },     s3 : {                                     metadata: {                             'acl': 'public-read'                  }   }  }) });    app.post('/upload', upload.array('upl', 1), function(req, res, next){   console.log(req.files); // print upload details  res.send('successfully uploaded!');  });    app.get('/', function (req, res) {     res.sendfile(__dirname + '/index.html'); });    app.listen(3001, function () {     console.log('example app listening on port 3001!'); }); 

below index.html file....

 /***************index.html*********************/     <!doctype html>     <html>     <head lang="en">         <meta charset="utf-8">         <title></title>     </head>     <body>     hey! lets try uploading s3 directly :)      <form method="post" enctype="multipart/form-data" action="/upload">         <p>             <input type="text" name="title" placeholder="optional title"/>         </p>          <p>             <input type="file" name="upl"/>             <!-- <input type="file" name="uplo"/> -->         </p>          <p>             <input type="submit"/>         </p>     </form>     </body>     </html>     /**********************************************/ 

when tried upload , resize image using above code getting following error.but when tried upload file directly not resizing went successful of npm multer-s3 module couldnt resizing or reduce size of thumbnails. using multer s3 module.i need reduce thumbnail size can done?

error:

unknownendpoint: inaccessible host: `s3.asia'. service may not available in `asia pacific (mumbai)' region.     @ request.enotfound_error (/path/to/folder//node_modules/s3fs/node_modules/aws-sdk/lib/event_listeners.js:393:46)     @ request.calllisteners (/path/to/folder//node_modules/s3fs/node_modules/aws-sdk/lib/sequential_executor.js:105:20)     @ request.emit (/path/to/folder//node_modules/s3fs/node_modules/aws-sdk/lib/sequential_executor.js:77:10)     @ request.emit (/path/to/folder//node_modules/s3fs/node_modules/aws-sdk/lib/request.js:668:14)     @ clientrequest.error (/path/to/folder//node_modules/s3fs/node_modules/aws-sdk/lib/event_listeners.js:232:22)     @ clientrequest.<anonymous> (/path/to/folder//node_modules/s3fs/node_modules/aws-sdk/lib/http/node.js:62:19)     @ emitone (events.js:115:13)     @ clientrequest.emit (events.js:210:7)     @ tlssocket.socketerrorlistener (_http_client.js:399:9)     @ emitone (events.js:115:13)     @ tlssocket.emit (events.js:210:7)     @ emiterrornt (internal/streams/destroy.js:62:8)     @ _combinedtickcallback (internal/process/next_tick.js:102:11)     @ process._tickdomaincallback (internal/process/next_tick.js:198:9) 

how fix this? there way make region avail function?

have tried adding region in format? s3 configs this:

s3_region=eu-central-1
s3_domain=https://s3.eu-central-1.amazonaws.com/

(i'm using aws-sdk module)


Comments

Popular posts from this blog

python - Selenium remoteWebDriver (& SauceLabs) Firefox moseMoveTo action exception -

html - How to custom Bootstrap grid height? -

transpose - Maple isnt executing function but prints function term -