gpt4 book ai didi

javascript - Multer 尝试创建一个已存在的新文件夹

转载 作者:行者123 更新时间:2023-11-28 03:46:47 28 4
gpt4 key购买 nike

我正在使用 Multer 来管理图像上传,当在本地计算机上运行我的应用程序时,一切都运行良好。但现在我尝试部署到 Heroku,我在应用程序日志中收到此错误:

Unhandled rejection Error: EROFS: read-only file system, mkdir '/public'

...看起来它正在尝试创建一个目录,而不是使用现有的目录(就像在我的本地计算机上一样)

这是我用于 Multer 的代码:

var storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, 'public/img/') },
filename: (req, file, cb) => {
cb(null, new Date().toISOString() + file.originalname)
} })

var upload = multer({storage: storage})


router.post('/:propertyid', upload.single('img'), function(req, res) {
Property.update({
img: req.file.filename
}, {
where: {
id: req.params.propertyid,
}
}).then(updatedProperty => {
res.redirect('/admin/' + updatedProperty)
})
});

public/img 目录已经存在,在测试它时,它可以使用正确的文件名正常运行,并最终位于正确的位置。任何帮助表示赞赏!谢谢!

最佳答案

Heroku dynos 有一个临时文件系统。 This Naaman Newbold 的回答很好地解释了这意味着什么。

长话短说:Dynos 的文件系统不应用于存储除已部署内容之外的任何永久存储或数据。为了使用存储,AWS S3 can be used .

关于javascript - Multer 尝试创建一个已存在的新文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48391764/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com