nodejs如何上传图片
时间: 2023-06-16 13:03:37 浏览: 53
在 Node.js 中,可以使用 `multer` 中间件来实现文件上传,包括图片上传。
首先需要安装 `multer`:
```
npm install multer
```
然后在代码中引入 `multer` 并创建一个 `multer` 实例,指定上传文件的存储方式和路径。例如:
```javascript
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())
}
});
const upload = multer({ storage: storage });
```
`destination` 指定文件存储的路径,`filename` 指定文件名的生成方式。
然后在路由中使用 `upload.single()` 方法进行文件上传。例如:
```javascript
app.post('/upload', upload.single('image'), function (req, res, next) {
// req.file 是上传的文件信息
// req.body 中包含其他表单字段
res.send('上传成功');
});
```
在前端的表单中需要指定 `enctype="multipart/form-data"`,并设置 `name` 属性为 `image`,例如:
```html
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="image" />
<button type="submit">上传</button>
</form>
```
这样就可以实现图片上传了。注意要处理上传失败的情况,并且需要对上传的文件进行安全性检查和限制。