我在heroku上部署了我的express应用,并尝试使用multer上传图像。所有这些都可以在localhost上完美运行,但是在heroku上上传图像时,它不会保存到我的图像文件夹中,并且出现500服务器错误: 错误:否:没有此类文件或目录,请打开“ ../ images / kauai-mountain.jpg”
我正在前端使用create react应用程序。
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上运行的服务器上的图像文件夹中。这可能是问题吗?