ฉันกำลังพยายามลบฟิลด์ที่เรียกว่า 'ปก' ออกจากเอกสารของฉัน แต่เป็นประเภทบัฟเฟอร์ ดังนั้นด้วยเหตุผลบางอย่างแม้ว่าฉันจะไม่ได้กำหนดมันก็ยังคงเป็นประเภทไบนารีในขณะที่ให้ผลลัพธ์ที่ไม่ได้กำหนด
เส้นทางนี้จะส่งคืนฟิลด์ใบปะหน้าจากคุณสมบัติโปรไฟล์ที่ตรงกันของเอกสาร
`
exports.update = (req, res) => {
let form = new formidable.IncomingForm();
form.keepExtension = true;
form.parse(req, (err, fields, files) => {
if (err) {
return res.status(400).json({
error: "Photo could not be uploaded",
});
}
let user = req.profile;
user = _.extend(user, fields);
if (fields.password && fields.password.length < 6) {
return res.status(400).json({
error: "Password should be min 6 characters long",
});
}
if (fields.cover == null) {
user.cover = undefined;
}
if (files.photo) {
if (files.photo.size > 10000000) {
return res.status(400).json({
error: "Image should be less than 1mb",
});
}
sharp(files.photo.path)
.resize(300, 300, {
fit: "cover",
})
.jpeg({
quality: 90,
})
.toFile(`assets/users/${user.profile}.jpg`, (err, info) => {
if (err) {
return res.status(400).json({
error: "unable to process the image",
});
}
});
}
if (files.cover) {
if (files.cover.size > 10000000) {
return res.status(400).json({
error: "Image should be less than 1mb",
});
}
sharp(files.cover.path)
.resize(1200, 675, {
fit: "cover",
})
.jpeg({
quality: 90,
})
.toBuffer((err, compressed, info) => {
User.findOneAndUpdate(
{ profile: user.profile },
{ cover: compressed }
)
.select("_id")
.exec((err, updatedUser) => {
if (err)
res.status(400).json({
error: "Unable to process the image",
});
});
});
}
console.log("user", user);
user.save((err, result) => {
if (err) {
return res.status(400).json({
error: errorHandler(err),
});
}
user.hashed_password = undefined;
user.salt = undefined;
user.photo = undefined;
res.json(user);
console.log("result", result);
});
});
};
`