multer未将图像存储到文件夹

时间:2018-10-03 20:43:21

标签: node.js image express heroku multer

我在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上运行的服务器上的图像文件夹中。这可能是问题吗?

0 个答案:

没有答案