美文网首页
koa实现文件上传

koa实现文件上传

作者: 李牧敲代码 | 来源:发表于2018-12-01 15:29 被阅读0次

文件上传是一个经常要用到的功能,这里对基于koa实现文件上传做一个总结。PS:在我的另外一篇博客讲到了图片上传的前端使用[点这里](https://www.jianshu.com/p/78ea4f94a3d0),这里接着那篇博客往下讲。
首先要安装koa-body用于解析请求数据

npm install koa-body

然后就像这样:

const app = new Koa();
const koaBody = require('koa-body'); //解析上传文件的插件
app.use(koaBody({
        multipart: true,
        formidable: {
            maxFileSize: 2000 * 1024 * 1024    // 设置上传文件大小最大限制,默认2M
        }
    }))

经过路由处理进入到具体的路由处理方法中:

    //上传图片
    static async uploadimg(ctx) {
        let file = ctx.request.file; // 获取上传文件
        // 创建可读流
        const reader = fs.createReadStream(ctx.request.files['image']['path']);
        let filePath = `/shareSource/img/my_blog_img` + `/${ctx.request.files['image']['name']}`;
        let remotefilePath = `http://www.xxxx.com:8887/img/my_blog_img` + `/${ctx.request.files['image']['name']}`;
        // 创建可写流
        const upStream = fs.createWriteStream(filePath);
        // 可读流通过管道写入可写流
        reader.pipe(upStream);
        return ctx.body = {
            url: remotefilePath,
            message: "文件上传成功",
            cc: 0
        }   
    }

ok,这样就可以在你定义的路径下找到上传的文件,本文中的路径是filePath,而remotefilePath 的路径是文件服务的路径供外部访问资源所用。
大家有不懂活或者觉得需要补充更正的地方欢迎留言,3Q~

相关文章

  • koa 使用记录

    koa-body: 实现文件上传(form action=“...url” 提交表单式上传) koa-parser...

  • koa实现文件上传

    文件上传是一个经常要用到的功能,这里对基于koa实现文件上传做一个总结。PS:在我的另外一篇博客讲到了图片上传的前...

  • koa-body 获取不到文件的原因

    问题描述:在koa项目中,使用koa-body中间件来实现文件的上传功能,但是通过ctx.request.body...

  • 关于 koa-formidable 一些问题

    这两天在研究node + koa + koa-formiable 上传图片和文件 最简单的使用方法 文件已经上传...

  • 使用koa-body遇到的坑

    前言 koa-body可以实现文件上传,同时也可以让koa能获取post请求的参数,在使用的过程中,遇到了一下的坑...

  • koa 上传文件

    上传文件 遇到的问题: 最开始用koa-multer,接口没问题回调执行了,但是文件没有传上去。折腾了两天,发现注...

  • koa文件上传

    demo地址 使用 koa-body 中间件获取上传的文件 koa-body 支持文件、json、form格式的请...

  • 文件上传

    node 上传文件 可以使用koa-body 中间件进行上传.但是一定要注意koa-body版本的问题.和异步问题...

  • NodeJs koa2实现文件上传

    知识讲解 koa2框架是一个基于中间件的框架,也就是说,需要使用到的功能,比如路由(koa-router),日志(...

  • php文件上传

    单文件上传实现: 文件上传代码参考:文件上传 多文件上传实现: 前台调用: shell方式 浏览器方式: 后台处理...

网友评论

      本文标题:koa实现文件上传

      本文链接:https://www.haomeiwen.com/subject/jrqrcqtx.html