node.js上传文件
时间: 2023-09-27 09:07:45 浏览: 144
在 Node.js 中,你可以使用 `multer` 这个流行的中间件来实现文件上传功能。面是一个简单示例代码:
首先,确保你已经安装了 `multer` 包。可以使用以下命令进行安装:
```bash
npm install multer
```
然后,在你的 Node.js 项目中引入 `multer` 和其他必要的模块:
```javascript
const express = require('express');
const multer = require('multer');
const app = express();
```
接下来,配置 `multer` 的存储引擎和文件保存的目录。你可以自定义存储引擎和目录,以下代码使用了 `multer.diskStorage` 存储引擎来将文件保存到指定目录:
```javascript
const storage = multer.diskStorage({
destination: function(req, file, cb) {
cb(null, 'uploads/'); // 指定文件保存的目录
},
filename: function(req, file, cb) {
cb(null, file.originalname); // 指定保存的文件名
}
});
const upload = multer({ storage: storage });
```
然后,创建一个路由来处理文件上传请求:
```javascript
app.post('/upload', upload.single('file'), function(req, res, next) {
// 在 req.file 中可以访问上传的文件信息
if (!req.file) {
return res.status(400).send('No files were uploaded.');
}
res.send('File uploaded successfully!');
});
```
最后,启动服务器并监听指定端口:
```javascript
app.listen(3000, function() {
console.log('Server listening on port 3000');
});
```
现在,当你向 `/upload` 路由发送一个带有名为 `file` 的文件字段的 `POST` 请求时,文件将会被上传到指定的目录。
请注意,上述示例仅用于演示目的,你可能需要根据自己的需求进行相应的修改和调整。
阅读全文