长风破浪会有时
直挂云帆济沧海

nodejs框架koa2上传方法

router.post("/uploadImg",muilter.single("file"),controllers.uploadImg);
    async uploadImg(ctx, next) {
        ctx.body = {
            code: 0,
            message: '上传成功',
            data: {
                path : config.imgPath_file + ctx.req.file.filename,
                file: ctx.request.file,
                filePath :  config.imgPath_file + ctx.req.file.filename
            }
        }
    }
  const muilter = require("../lib/multerUtil").upload;
    const multer = require('koa-multer');
    const config = require('../config');
    const fs = require('fs');
    const Util = require("./util");

//限制上传等
//设置上传属性
const storage = multer.diskStorage({
    //设置上传后文件路径
    destination: function (req, file, cb) {
        //图片存放地址
        cb(null, config.imgPath)

    },
    //给上传文件重命名,获取添加后缀名
    filename: function (req, file, cb) {
        var fileFormat = (file.originalname).split(".");
        cb(null,Date.now() + Util.randomNum(5) + "." + fileFormat[fileFormat.length - 1]);
    }
});
//添加单图片配置文件到muler对象。
const upload = multer({
    storage: storage,
    limits: {fileSize: 5000*1024*1024},
    fileFilter: function (req, file, cb) {
        var mimetypes = (['image/*']).join(",");
        var testItems = file.mimetype.split('/');
        if ((new RegExp('\\b' + testItems[0] + '/\\*', 'i')).test(mimetypes) || (new RegExp('\\*/' + testItems[1] + '\\b', 'i')).test(mimetypes) || (new RegExp('\\b' + testItems[0] + '/' + testItems[1] + '\\b', 'i')).test(mimetypes)) {
            return cb(null,true);
        } else {
            return cb(new Error(), false);
        }
    }
});


module.exports = {upload};
赞(2)
未经允许不得转载:阿锋哥前端开发经验分享 » nodejs框架koa2上传方法
分享到: 更多 (0)

几百块就能做营销型企业网站?

查看详情