文件上传
思想
前端表单->后端接收到文件本身->保存到服务器上->给数据库记录文件一些信息(如:文件路径)->库返回给nodejs相关信息->nodejs返回给前端
前端:
<form enctype="multipart/form-data" action="" method="post">
<input type=file name="fieldname" />
</form>
实现
multer->文件名会随机->fs模块改名->path系统模块解析磁盘路径
后端:multer 接受 form-data编码数据
multer中间件
multer 接受 form-data编码数据,所以,要求前端携带时注意一下,如:
使用
//1 引入(在app.js里)
let multer = require('multer');
//2 实例化
let objMulter = multer({
dest: './upload' }); //dest: 指定 保存位置(存到服务器)
//安装中间件,
app.use(objMulter.any()); //允许上传什么类型文件,any 代表任何类型
中间件扩展了req请求体 req.files
app.post('/reg',(req,res)=>{
req.files
})