multer使用示例

来源:互联网 发布:阿里云上传api 编辑:程序博客网 时间:2024/06/18 12:34

Multer 是一个 node.js 中间件,用于处理 multipart/form-data 类型的表单数据,它主要用于上传文件。它是写在 busboy 之上非常高效。


使用示例

后端

  • 在router里面做如下配置

const multer = require('multer');const result = require('../util/result');let storage = multer.diskStorage({    //设置上传后文件路径,uploads文件夹会自动创建。    destination: function (req, file, cb) {        cb(null, './uploads')    },    //给上传文件重命名,获取添加后缀名    filename: function (req, file, cb) {        let fileFormat = (file.originalname).split(".");        let filename = file.fieldname + '-' + Date.now() + "." + fileFormat[fileFormat.length - 1]        cb(null, filename);    }});let upload = multer({    storage: storage});在对应路由controller做如下使用://提交数据//这个地方的upload.single('XXXX'),XXX是对应的前端input框,上传文件的namerouter.post('/', upload.single('avatar'), (req, res) => {    console.log(req.file);    //如果文件上传成功,获取文件的名字存入数据库    if (req.file) {        let file=req.file;        let fileFormat = (file.originalname).split(".");        let filename = file.fieldname + '-' + Date.now() + "." + fileFormat[fileFormat.length - 1];        console.log(filename);        res.status(200).json(result(0,'上传文件成功'),{            filename:filename        })    }});

前端:
<form method="post" enctype="multipart/form-data">    <input type="file" name="avatar" value="选择你上传的文件">    <input type="submit"></form>


git示例




原创粉丝点击