Express 是一个简洁、灵活的 Node.js Web 应用框架,用于构建 API 和 Web 应用。Multer 是一个 Node.js 中间件,用于处理 multipart/form-data 类型的表单数据,主要用于文件上传。
Multer 支持多种类型的文件上传,包括单文件上传和多文件上传。
文件上传是 Web 应用中常见的功能,Multer 可以用于处理用户上传的图片、文档、视频等文件。
原因:
multipart/form-data
。解决方法:
const express = require('express');
const multer = require('multer');
const app = express();
const upload = multer({ dest: 'uploads/' });
app.post('/upload', upload.single('file'), (req, res) => {
res.send('File uploaded successfully');
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
multipart/form-data
:<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<button type="submit">Upload</button>
</form>
确保表单中的文件字段名称与 Multer 配置中的字段名称一致。例如,如果 Multer 配置为 upload.single('file')
,则表单中的文件字段名称应为 file
。
如果前端和后端不在同一个域,可能会遇到跨域问题。可以使用 cors
中间件来解决跨域问题:
const cors = require('cors');
app.use(cors());
通过以上步骤,你应该能够解决 Multer 上传不起作用的问题。如果问题仍然存在,请检查服务器日志和客户端控制台,以获取更多详细的错误信息。
领取专属 10元无门槛券
手把手带您无忧上云