如何解决Node js中的严重错误-“错误:没有这样的文件或目录”
我正在node中创建博客并使用强大的软件包上传照片。 我在Blog模式中将photo dataType指定为Buffer,将ContentType指定为String
这是我的控制器方法
exports.create = (req,res) => {
let form = new formidable.IncomingForm();
form.keepExtensions = true;
form.parse(req,(err,fields,files) => {
if (err) {
return res.status(400).json({
error: "Image Could not upload",});
}
const { title,body,categories,tags } = fields;
if (!title || !title.length) {
return res.status(400).json({
error: "Title is required",});
}
if (!body || body.length < 200) {
return res.status(400).json({
error: "Content is too short",});
}
if (!categories || !categories.length === 0) {
return res.status(400).json({
error: "Atleast one category is required",});
}
if (!tags || !tags.length) {
return res.status(400).json({
error: "Atleast one tag is required",});
}
let blog = new Blog();
blog.title = title;
blog.body = body;
blog.excerpt = smartTrim(body,120," "," ...");
blog.slug = slugify(title).toLowerCase();
blog.mtitle = `${title} | ${process.env.APP_NAME}`;
blog.mdesc = stripHtml(body.substring(0,160));
blog.postedBy = req.user._id;
// categories and tags
let arrayOfCategories = categories && categories.split(",");
let arrayOfTags = tags && tags.split(",");
if (files.photo) {
if (files.photo.size > 10000000) {
return res.status(400).json({
error: "Image should be less than 1 MB in size",});
}
blog.photo.data = fs.readFileSync(files.photo.path);
blog.photo.path = __dirname + "/uploads/" + files.photo.name;
blog.photo.contentType = files.photo.type;
}
blog.save((err,result) => {
if (err) {
return res.status(400).json({
error: errorHandler(err),});
}
// res.json(result);
Blog.findByIdAndUpdate(
result._id,{
$push: { categories: arrayOfCategories },},{ new: true }
).exec((err,result) => {
if (err) {
return res.status(400).json({
error: errorHandler(err),});
} else {
Blog.findByIdAndUpdate(
result._id,{ $push: { tags: arrayOfTags } },{ new: true }
).exec((err,result) => {
if (err) {
return res.status(400).json({
error: errorHandler(err),});
} else {
res.json(result);
res.sendFile(__dirname + "/blog");
}
});
}
});
});
});
};
在调用我的API时,我得到响应200,但是我也得到一个错误,提示不存在这样的文件或目录。 到目前为止,我所了解的是我必须在节点文件系统中提供路径。我已经做到了,但仍然遇到相同的错误。谁能帮助我解决我的错误。
如果我请求/api/blog/photo/:slug
,我将得到图像。我也可以看到我的照片和我的博客一起保存在mongo DB中。但是我可以在前端看到照片
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。