后端的upload路由该写什么?
时间: 2024-05-05 18:15:35 浏览: 152
后端的upload路由主要用于处理文件上传请求,具体需要考虑以下内容:
1. 接收前端传来的文件数据,一般通过multipart/form-data格式传递。
2. 对上传的文件进行过滤和校验,比如文件类型、大小、格式等。
3. 将文件保存到服务器本地或者云存储中,一般使用Node.js提供的fs模块或第三方存储服务。
4. 返回上传结果,可以是保存后的文件URL或者其他相关信息。
下面是一个简单的Node.js文件上传的示例代码:
```
const express = require('express');
const multer = require('multer'); // 处理文件上传
const path = require('path');
const app = express();
const upload = multer({ dest: 'uploads/' }); // 设置上传文件保存的目录
app.post('/upload', upload.single('file'), (req, res) => {
// 获取上传的文件信息
const file = req.file;
console.log(file);
// 对上传的文件进行校验
if (!file) {
return res.status(400).json({ error: '请选择上传文件' });
}
const allowedTypes = ['image/jpeg', 'image/png'];
if (!allowedTypes.includes(file.mimetype)) {
return res.status(400).json({ error: '只允许上传图片文件' });
}
// 将文件保存到服务器本地
const filePath = path.join(__dirname, file.path);
console.log(filePath);
// 返回上传结果
res.json({ url: `http://localhost:3000/${file.filename}` });
});
app.listen(3000, () => {
console.log('Server started on http://localhost:3000');
});
```
阅读全文