node.js - 在 MERN 中获取图像数据作为缓冲区
问题描述
我有一个mern项目...
我想在我的数据库中插入数据以及我有三个图像..
虽然其他数据已成功插入,但需要三个图像
我试图控制我得到的图像数据......结果是---->
schoolpic: {
fieldname: 'schoolpic',
originalname: 'pan back.png',
encoding: '7bit',
mimetype: 'image/png',
buffer: <Buffer 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 01 f4 00 00 01 37 08 06 00 00 00 5c aa b3 90 00 00 00 01 73 52 47 42 00 ae ce 1c e9 00 00 00 04 ... 187709 more bytes>,
size: 187759
},
在我输入所有数据后,我得到了缓冲,即。imagepath
和imagedestination
请让我知道我哪里出错了
当我尝试过一些以前的问题时,它们完全不同
auth.js(后端)
const storageone = multer.diskStorage({
destination: function (req, file, cb) {
let email = req.body.email;
let pathone = `C:/Users/kumar/Desktop/kridhatutor/server/school/${email}`;
fs.mkdirsSync(pathone);
cb(null, pathone);
// cb(null, 'images');
},
filename: function (req, file, cb) {
cb(null, file.originalname);
}
});
const fileFilterone = (req, file, cb) => {
const allowedFile = ['image/jpeg', 'image/jpg', 'image/png'];
if (allowedFile.includes(file.mimetype)) {
cb(null, true);
} else {
cb(null, false);
}
}
let uploadone = multer({ storageone, fileFilterone });
router.post('/schoolregister', uploadone.fields([{
name: "schoolpic", maxCount: 1
}, {
name: "govtpic", maxCount: 1
},
{
name: "photo", maxCount: 1
},
]), async (req, res) => {
const identity = req.body.identity
const names = req.body.names
const phone = req.body.phone
const email = req.body.email
const city = req.body.city
const address = req.body.address
const school = req.body.school
const instituteaddress = req.body.instituteaddress
const subject = req.body.subject
const post = req.body.post
const message = req.body.message
const schoolpic = req.files['schoolpic'][0]
const govtpic = req.files['govtpic'][0]
const photo = req.files['photo'][0]
const newUserDataone = {
identity,
names,
phone,
email,
city,
address,
school,
instituteaddress,
subject,
post,
schoolpic,
govtpic,
photo,
message
}
console.log(newUserDataone );
const newUserone = new SCHOOL(newUserDataone);
try {
const userExitone = await SCHOOL.findOne({ email: email })
if (userExitone) {
res.status(400).json({ error: "Email already exit" })
return
// alert("email already exit")
}
else {
newUserone.save().then(() => res.json('User Added')).catch((err) => {
console.log(err);
});
}
} catch (err) {
console.log(err);
}
})
请帮忙!!
谢谢
解决方案
推荐阅读
- c++ - sfml event::close 在窗口启动时调用
- c - VS2017 编译器为除法/余数对发出 2 条除法指令
- excel - 错误的 Excel 文件以保护模式打开,单击启用编辑后更改为正确的文件
- javascript - 如何使用 Protractor 连接到 Oracle 数据库?
- java - 如何使用 servlet 过滤器修改和设置发布请求正文
- php - woocommerce 电子邮件中的换行符
- javascript - jQuery交付倒计时 - 隐藏在周末的特定时间
- azure - 如何在 Azure 中为 Kubernetes 入口控制器创建负载均衡器 (IAAS)
- c# - 将属性列表作为参数传递
- c++ - std::transform 与 std::istream_iterator