express file upload接收端不存在



从2017年的一本书开始,我从node.js开始。(我的节点版本是:16.15)上传图片express-fileupload不工作。控制台日志:"错误:无法建立连接。接收端不存在。">我在谷歌上搜索了一下,但没有找到与node.js order express相关的有用提示。我认为这与输入字段有关-但我不知道,我应该/可以改变什么。这是index.js中的代码(像path, express, file-upload这样的需求是在index.js中导入的)

app.post("/posts/store", async (req, res) => {
let image = req.files.image;
console.log(image);
image.mv(path.resolve(__dirname, "public/img", image.name), async (error) => {
await BlogPost.create({
...req.body,
image: "/img/" + image.name,
});
res.redirect("/");
});
});

这是表单页面的标记。在我的理解中,这里最重要的部分是正确的名称,即"图像"。-我也在js中使用它(见上文)

<div class="control-group">
<div class="form-group floating-label-form-group controls">
<label>Image</label>
<input
type="file"
class="form-control"
id="image"
name="image"
/>
</div>
</div>

可能错误的来源(?)是与表单相关的数据:

<form
action="/posts/store"
method="POST"
enctype="multipart/form-data"
>

如果有人能帮我找到解决这个错误的方法就太好了。

我不确定这是不是问题但试着改变你传递路径的位置,比如

path.resolve(__dirname + "public/img" + image.name)

我也发现了这个文档,也许它有帮助:

https://github.com/richardgirges/express-fileupload/tree/master/example basic-file-upload

相关内容

最新更新