如何使用express进行图片上传
时间: 2024-02-21 22:30:48 浏览: 76
express 表单上传图片
你可以使用Multer中间件来处理Express中的图片上传任务。使用Multer,你可以指定上传图片的存储目录,文件名等选项,在Express的路由处理函数中调用Multer接受上传的图片,然后将其存储在指定的目录下。以下是一个基本的Express图片上传路由的示例代码:
```
const express = require('express');
const multer = require('multer');
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/')
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now() + path.extname(file.originalname))
}
})
const upload = multer({ storage: storage })
const app = express();
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
res.render('index');
});
app.post('/upload', upload.single('myImage'), (req, res) => {
res.send('File uploaded successfully!');
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
```
在这个示例代码中,我们首先定义了一个用于上传图片的存储目录和文件名的选项`storage`,然后创建了一个Multer中间件实例`upload`。在Express的POST路由处理函数中,我们使用Multer的`single`函数来接受名为`myImage`的图片上传,并将其存储在`uploads/`目录下。最后,我们向用户发送了一条上传成功的消息。
阅读全文