使用react native将图像上传到heroku

时间:2018-11-01 09:58:08

标签: express react-native heroku

我正在尝试将图像从本机反应上载到public / images /文件夹中的heroku Express应用。它向我显示成功消息,但是images文件夹中没有图像。 同时,当我在localhost上尝试此代码时,效果很好。.

router.post('/add', (req, res) => {
    let imageFile = req.files.photo;
    let fileName = Date.now();
    let imgName = fileName+req.files.photo.name;
    let dirName = __dirname.replace('routes','public')
    dirName = dirName+'/images/';
    let path = dirName+imgName;
    imageFile.mv(path, (err)=> {
        if (err) {
            return res.status(501).json({
                message: 'error'
            });
        } else {
            return res.status(200).json({
                message: 'success'
            })
        }
    });
})

1 个答案:

答案 0 :(得分:1)

Heroku文件系统为ephemeral,您不能使用它在运行时持久存储任何内容。 相反,您可以使用Heroku Elements marketplace中的附件来实现您的存储需求。 对于您的特定用例,Cloudinary听起来很合适。他们的免费计划为您提供10 GB的存储空间。 您可以按照here的说明,通过node.js代码轻松地将图像上传到cloudinary。