关于koa-router,module.exports导出fn,传给的router.post('/url', fn)的疑问

实行一个图片上传和表单数据的提交,但是出了点问题

https://img4.mukewang.com/5c8f418200012c7405620761.jpg

可行模式

const router = require('koa-router')();
const controller = require('../controller/user');
const multer = require('koa-multer');

var storage = multer.diskStorage({
        //文件保存路径  
        destination: function(req, file, cb) {
            cb(null, 'static/images/')
        },
        //修改文件名称  
        filename: function(req, file, cb) {
            var fileFormat = (file.originalname).split(".");
            cb(null, Date.now() + "." + fileFormat[fileFormat.length - 1]);
        }
    })
    //加载配置  
var upload = multer({ storage: storage });

router.post('/userInsertInto', upload.single('file'), async(ctx, next) => {
    console.log(ctx.req.body)
    let data = JSON.parse(ctx.req.body.data);
    console.log(data);
    ctx.body = {
        msg: "aa"
    }
})

module.exports = router;

https://img3.mukewang.com/5c8f41830001478906650082.jpg

require,module.exports 模式

require

const router = require('koa-router')();
const controller = require('../controller/user');

router.post('/userInsertInto', controller.userInsertInto)


module.exports = router;

module.exports

const router = require('koa-router')();
const userModel = require('../mysql/mysql');
const multer = require('koa-multer');

var storage = multer.diskStorage({
        //文件保存路径  
        destination: function(req, file, cb) {
            cb(null, 'static/images/')
        },
        //修改文件名称  
        filename: function(req, file, cb) {
            var fileFormat = (file.originalname).split(".");
            cb(null, Date.now() + "." + fileFormat[fileFormat.length - 1]);
        }
    })
    //加载配置  
var upload = multer({ storage: storage });

const userInsertInto = async (ctx) => {
    await upload.single('file');
    console.log(ctx.req.body)
    let data = JSON.parse(ctx.req.body.data);
    ctx.body = {
        msg: "aa"
    }
}

module.exports = {
    userInsertInto: userInsertInto
}

报错

https://img2.mukewang.com/5c8f41860001a9e808000276.jpg

https://img4.mukewang.com/5c8f418700014ee108000183.jpg

米脂
浏览 738回答 1
1回答

婷婷同学_

const userInsertInto = async(ctx, next) => { var storage = multer.diskStorage({ //文件保存路径 destination: function(req, file, cb) { cb(null, 'static/images/') }, //修改文件名称 filename: function(req, file, cb) { var fileFormat = (file.originalname).split("."); cb(null, Date.now() + "." + fileFormat[fileFormat.length - 1]); } }) //加载配置 var upload = multer({ storage: storage }).single('file'); await upload(ctx) .then(result => { console.log(ctx.req.body); console.log(ctx.req.file); ctx.body = { data: ctx.req.file } }) .catch(error => { console.log(error) ctx.body = false; }) }
打开App,查看更多内容
随时随地看视频慕课网APP