ошибка узла heroku: подключить ECONNREFUSED - PullRequest
0 голосов
/ 04 июля 2018

У меня есть это приложение CRUD на heroku, подключенное к Mlab. У меня есть 2 разных маршрута (которые отправляются из формы) данных в MLab и изображение в корзину S3. Один маршрут работает совершенно нормально. Другой маршрут, который очень похож на первый, за исключением некоторых текстовых вводов, выдает ошибку Heroku при каждой отправке. Это на самом деле работает хорошо, хотя локально. Если я удаляю всю логику, связанную с загрузкой изображения, это тоже работает. Я не уверен, где я иду не так здесь. Я не могу понять, почему это будет работать на одном почти идентичном маршруте, но не на другом.

Это мой код app.js, который соединяет мангуст и роутер

var router = express.Router();
var eventRoutes = require('./routes/event');
var adminRoutes = require('./routes/admin');
var venueRoutes = require('./routes/venue');

app.use('/', router);
app.use(eventRoutes);
app.use(adminRoutes);
app.use(venueRoutes);

mongoose.connect(process.env.HOTNIGHTDATABASEURL);

app.listen(process.env.PORT || 3000, function(){
  var date = new Date()
  console.log('Server Spinning Up at ' + date.toLocaleTimeString('en-US', 
  {hour12: true,}));
}); 

Это конфиг для S3 и пост-маршрут для маршрута, который работает.

//Multers3 and AWS s3 setup
var s3 = new aws.S3({
  accessKeyId: process.env.HOTNIGHTEVENTSBUCKETID,
  secretAccessKey: process.env.HOTNIGHTEVENTSBUCKETSECRET,
  region: 'us-east-2'
});

var upload = multer({
  storage: multerS3({   
    s3: s3,
    acl: 'public-read',
    bucket: 'hot-night-events',
    metadata: function (req, file, cb) {
      cb(null, {fieldName: file.fieldname});
    },
    key: function (req, file, cb) {
      cb(null, Date.now().toString())
    }
  })
});

router.post('/events', upload.single('image'), function(req, res){
var event = new Event({
... for brevity left out data collected from form
});
    event.save(function(err, data){
        if(err){
            console.log(err);
        } else {
            res.redirect('/');
        }
    });
});

Это другой маршрут (в другом файле), который не работает:

//Multers3 and AWS s3 setup
    var s3 = new aws.S3({
      accessKeyId: process.env.HOTNIGHTEVENTSBUCKETID,
      secretAccessKey: process.env.HOTNIGHTEVENTSBUCKETSECRET,
      region: 'us-east-2'
    });

    var upload = multer({
      storage: multerS3({   
        s3: s3,
        acl: 'public-read',
        bucket: 'hot-night-events',
        metadata: function (req, file, cb) {
          cb(null, {fieldName: file.fieldname});
        },
        key: function (req, file, cb) {
          cb(null, Date.now().toString())
        }
      })
    });

    router.post('/venues', upload.single('venueImage'), function(req, res){
    var venue = new Venue({
    ... for brevity left out data collected from form
    });
        venue.save(function(err, data){
            if(err){
                console.log(err);
            } else {
                res.redirect('/');
            }
        });
    });

Любая помощь будет принята с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...