multer后端存文件
时间: 2024-05-03 13:17:43 浏览: 8
Multer 是一个 Node.js 中间件,用于处理 multipart/form-data 类型的表单数据,主要用于上传文件。使用 Multer 可以方便地在 Node.js 后端存储文件。
以下是一个示例代码:
```javascript
const express = require('express');
const multer = require('multer');
const path = require('path');
const app = express();
// 设置文件上传的存储路径和文件名
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './uploads/');
},
filename: function (req, file, cb) {
cb(null, Date.now() + path.extname(file.originalname));
}
});
// 创建 Multer 实例
const upload = multer({ storage: storage });
// 文件上传接口
app.post('/upload', upload.single('file'), function (req, res, next) {
const file = req.file;
if (!file) {
const error = new Error('Please upload a file');
error.httpStatusCode = 400;
return next(error);
}
res.send(file);
});
app.listen(3000, function () {
console.log('Server started on port 3000');
});
```
上面的代码中,通过 `multer.diskStorage()` 方法来设置文件上传的存储路径和文件名。在 `app.post('/upload', upload.single('file'), ...)` 接口中,使用 `upload.single()` 方法来指定上传的文件字段名。
在文件上传成功后,可以通过 `req.file` 访问上传的文件信息,然后可以将其存储到指定的位置。最后,通过 `res.send()` 方法返回上传结果。