# 文件上传 Post with form-data
主要目的是为了上传
koa-v1 要是用 koa-multer-v0.0.2 对应的 multer < 1,所以本处需要指定版本安装
```shell
$ npm install --save koa-multer@0.0.2
```
Usage
```javascript
var app = require('koa')()
, koa = require('koa-router')()
, logger = require('koa-logger')
, json = require('koa-json')
, views = require('koa-views')
, onerror = require('koa-onerror');
var multer = require('koa-multer');
app.use(multer({ dest: './uploads/'}));
```
You can access the fields and files in the request object:
```javascript
router.post('/post/formdata', function *(next) {
console.dir(this.req.body)
console.dir(this.req.files)
this.body = 'this a users response!';
});
```
重要提示: Multer will not process any form which is not multipart/form-data
[see more](https://github.com/koa-modules/multer)
测试
```shell
$ npm test
```
使用Postman测试
![](img/post-formdata.png)
- Introduction
- Nodejs 4.x新特性
- classes
- typed arrays
- generators
- collections
- Set
- Map
- arrow functions
- block scoping
- template strings
- promises
- symbols
- Koa基础
- 上下文
- koa-generator
- 安装
- 创建项目
- 更改视图模板引擎
- Routes
- HTTP
- Get
- 如何获取query参数
- 如何获取params
- Post
- 从post获取参数
- 标准表单(Post with x-www-form-urlencoded)
- 文件上传(Post with form-data)
- Post with raw
- 数据库
- MySQL
- Mongo
- 流程控制
- generator/co
- es6的generator是什么?
- co = generator + promise
- async/await
- promise with bluebird
- 测试
- Mocha
- Supertest
- 部署
- 最佳实践
- FAQ
- 如何发布本书到git pages
- 如何知道require模块的用法
- koa中的异常处理