我爱编程

koa使用记录--接收文件

2018-04-13  本文已影响329人  关玮琳linSir

koa使用记录--接收文件

koa是一个比较不错的基于node的服务端框架,它采用的是插件化的模式,它可以整合很多很多的中间件,它本身也很小巧。

虽然说,我本身也不太看到node做纯后端开发,但是js的语言表现能力确实是强,同样的代码逻辑,它的代码行数远小于java,而且它的API层的异步IO异步的思想,确实让我很感兴趣,以前也曾简单的用过Koa框架,但是最近部门老大,让我开始写node后端,所以要认真的学一学,多去看看源码了,从这篇简单的记录开始吧,开始我node开发者的身份。

koa想要接收文件,需要依赖koa-body,这个中间件,可以很好的为我们处理接收的逻辑,下面我们简单的看一下代码:



/**
 * Module dependencies.
 */

const logger = require('koa-logger');
const serve = require('koa-static');
const koaBody = require('koa-body');
const Koa = require('koa');
const fs = require('fs');
const app = new Koa();
const os = require('os');
const path = require('path');

app.use(koaBody({multipart: true}));
app.use(async function (ctx, next) {
    await next();
    if (ctx.body || !ctx.idempotent) return;
    ctx.redirect('/404.html');
});

app.use(serve(path.join(__dirname, '/public')));

app.use(async function (ctx, next) {
    // ignore non-POSTs
    if ('POST' != ctx.method) return await next();

    const file = ctx.request.body.files.file;
    console.log(file.path)
    ctx.body = "success";
});

// listen

app.listen(3000);
console.log('listening on port 3000');

这样我们便很轻松的接收到了文件。

image

按照以上的方式便可以发出请求,记住header一定要空。

好了,以上便是如何利用koa接收文件了。

上一篇下一篇

猜你喜欢

热点阅读