周大胖子 发表于 2018-7-6 00:56:19

koa-multer 图片上传模块

参考文献:1. https://blog.csdn.net/ziwoods/article/details/72822730                     2.https://www.npmjs.com/package/koa-multer


我的个人总结: 这就是一个复制粘贴事情,需要注意:版本是 koa2

我总结
第一步:
npm install koa-multer --save
第二步:
滚去建个文件夹,在根目录下建个 upload /img/


第三步:
把下面这段代码复制粘贴过去:粘贴到node 某个路由模块即可。
const multer = require('koa-multer');//加载koa-multer模块

//文件上传
//配置
var storage = multer.diskStorage({
//文件保存路径
destination: function (req, file, cb) {
    cb(null, 'upload/img/')
},
//修改文件名称
filename: function (req, file, cb) {
    var fileFormat = (file.originalname).split(".");
    cb(null,Date.now() + "." + fileFormat);
}
})
//加载配置
var upload = multer({ storage: storage });
//自定义路由
router.post('/uploadimg', upload.single('file'), async (ctx, next) => {
ctx.body = {
    filename: ctx.req.file.filename//返回文件名
    ,code : 0   //这个值主要用作layui的一个判断
}
})
第四步:去前台页面 该提交的URL 为你设置的这个路由:注意 最好用post 提交 。

周大胖子 发表于 2018-7-9 23:36:45

在这里我陷入一个误区: 我使用了koa 模块然后按照他的写法 ,可是 我以为值在 post 提交里 也就是 ctx.req.body!!! 但是 不是!所有的值 是在:ctx.req.file
格式为:
{ fieldname: 'file',   
originalname: '2018-06-10_103521.jpg',   //本地上传时候的文件名
encoding: '7bit',
mimetype: 'image/jpeg',            //图片格式
destination: 'upload/img/',          //上传到服务器上 服务器的文件夹目录
filename: '1531149594150.jpg',       //上传到服务器后 该文件的名称
path: 'upload\\img\\1531149594150.jpg',    //上传到服务器后 所在的路径
size: 303427 }                     //文件大小
页: [1]
查看完整版本: koa-multer 图片上传模块