NodeJS + 穆特
大家好,我试图从 React 前端将图像上传到我在 Node 中的后端,但我经常收到此错误
Error: ENOENT: no such file or directory, open 'public/avatar/avatar-Captura de pantalla de 2018-07-18 11-16-36_-1532639921615.png'
这就是我在后端初始化 multer 的方式
// Initialize multer storage
const storage = multer.diskStorage({
destination: function(req, file, callback) {
callback(null, "./public/avatar");
},
filename: function(req, file, callback) {
callback(
null,
file.fieldname +
"-" +
file.originalname.replace(path.extname(file.originalname), "_") +
"-" +
Date.now() +
path.extname(file.originalname)
);
}
});
const upload = multer({ storage: storage });
我收到了这个
router.post(
"/",
upload.single("avatar"),
passport.authenticate("jwt", { session: false }),
(req, res) => {
//Code
})
这是我的反应客户端的 Axios Post 请求
PS:ProfileData 和 avatar 是我通过 redux 带来的有效载荷(我认为这不重要)
const image = new FormData();
image.append("avatar", avatar, avatar.name);
axios
.post("/api/profile", image, profileData)