我想上传图像以使用multer NodeJ响应公共文件夹。在开发中很好,但是当我部署它时,它不起作用。看起来该multer无法上传/获取对公共文件夹的引用。
这是我的文件夹结构:
/client
/public
/img
.
.
.
/routes
/api
/employee.js
server.js
这就是我所做的:
server.js
// Access public folder
app.use(express.static("client/public/img"))
employee.js
// Set storage engine
const storage = multer.diskStorage({
destination: function(req, file, cb) {
cb(null, path.join(__dirname, "../../client/public/img/profilePicture"))
},
filename: (req, file, cb) => {
cb(null, file.fieldname + path.extname(file.originalname))
}
})
我从开发人员工具中看到了源代码,它没有上传文件,但可以在开发中使用。
谢谢您的帮助!
答案 0 :(得分:0)
multer可以从公用文件夹中获取参考,但是您需要设置endpoint
或路径以上传到公用文件夹。例如,将文件夹设为公开哟:
app.use('/endpoint/to/access/public/folder', express.static(path.resolve("client/public")))
此外,您的server.js
和client
文件夹一样都位于根文件夹中,因此您可以执行以下操作:
app.use('/public', express.static(path.join(__dirname,'client/public')));