multer не хранит изображение в папке - PullRequest
0 голосов
/ 03 октября 2018

Я развернул свое экспресс-приложение на heroku и пытаюсь загрузить изображения, используя multer.Это все прекрасно работает на localhost, но на heroku, когда я загружаю изображение, оно не сохраняется в папке с изображениями, и я получаю сообщение об ошибке сервера 500: Ошибка: ENOENT: такого файла или каталога нет, откройте '../images/kauai-mountain.jpg '

Я использую приложение «Реагировать» на внешнем интерфейсе.

const storage = multer.diskStorage({
    destination: (req, file, cb) => { 
        cb(error, '../images/');
     },
     filename: (req, file, cb) => {
         cb(null, file.originalname);
     }
});

router.post('/', multer({ storage }).single('image'), (req, res) => {
    const { description, category } = req.body;
    const url = req.protocol + '://' + req.get('host');

    const newPost = new Post({
        description,
        category,
        imagePath: url + '/images/' + req.file.filename
    });

    newPost.save().then(post => res.json(post)).catch(e => res.json(e));
});

server.js

if (process.env.NODE_ENV === 'production') {
    app.use('/images', express.static(path.join(__dirname, 'images')));
    app.use('/', express.static('client/build'));

    app.get('*' , (req, res) => {
        res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html'));
    });
}

Мой код переднего плана загружает изображениеи отправляя его по маршруту, ошибка находится на заднем конце.

РЕДАКТИРОВАТЬ Я читаю, что проблема заключается в том, что heroku не может сохранять изображения последовательно.Я не понимаю, потому что я сохраняю их в папке изображений на моем сервере, который я запускаю на heroku.Может ли это быть проблемой?

...