Я развернул свое экспресс-приложение на 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.Может ли это быть проблемой?