如何将图像从html传输到nodejs以与ejs一起使用



我试图使用nodejs和expressjs创建一个新网站。基本上,我有一个页面(/home(,其中有一个带有输入文件的表单。我已经创建了代码来显示加载后的图像预览。。。我想做的基本上是将";链接";将图像的一部分发送到nodejs,然后在那里我将把这个";链接";并将其插入到EJS端img标记的src中。有人能帮我吗?感谢

如果使用express,则可以将此属性添加到表单标记enctype="multipart/form-data"中。然后,您的图像将从前端发送。要在服务器中接收图像,您需要配置一个名为express fileupload 的中间件

var fileupload = require("express-fileupload");

然后您可以通过app.use(fileupload());在您的app.js文件中注册中间件

在您的路线文件中

router.post('/something', async (req, res) => {
let image=req.files.fieldName
}))

为了在这里保存图像,我将图像存储在服务器中,但不建议这样做。您希望通过连接重命名图像。例如mongo文档插入id

image.mv('./public/images/foldername/' + id + '.jpg', (err) => {
if (err) {
console.log(err)
} else {
res.redirect('/)
}
})

完成后,当您提交表单时,您可以在服务器/public/images/foldername中看到上传的图像。

要在ejs中查看,您基本上可以循环通过mongo id或我前面提到的的一些连接

最新更新