[TOC]
### koa 上傳中間件
* [ ] 文檔:[https://github.com/dlau/koa-body](https://github.com/dlau/koa-body)
* [ ] 安裝:cnpm i -S koa-body
* [ ] 配置:
```
app.use(koaBody({
// 啟用文件格式
multipart: true,
formidable: {
// 上傳目錄
uploadDir: path.join(__dirname, '/public/uploads'),
// 保留文件擴展名 .jpg .jpeg .png ...
keepExtensions: true
},
}))
```
*****
### 生成圖片連接
* [ ] 文檔:[https://www.npmjs.com/package/koa-static](https://www.npmjs.com/package/koa-static)
* [ ] 安裝:cnpm?i -S?koa-static
* [ ] 生成上傳路徑,外部可以訪問的連接
```
const path = require('path')
class HomeController {
// 上傳用戶頭像
async upload(ctx) {
//獲取本地上傳文件
const file = ctx.request.files.pn
// 獲取圖片鏈接 upload\_d441b8cedfb017a2f6d23506ed8806db.jpg
const baseName = path.basename(file.path)
// 生成外部可以訪問的圖片鏈接
ctx.body = {
url: `${ctx.origin}/${baseName}`
}
}
}
module.exports = new HomeController()
```
- 序言
- ES6模塊化
- node基礎
- FS模塊
- 常用變量
- crypto加密
- 基礎
- 安裝
- 中間件
- 架構
- 結構分層
- 配置
- 路由
- 安裝路由
- 自動加載
- 獲取參數
- 路由前綴
- 路由中間件
- 控制器
- 請求
- 請求信息
- 數據庫
- mongoDB
- mongoDB原生語句
- mongoDB數據庫角色
- mongoose連接數據庫
- 自動記錄時間戳
- 模型
- mongoose模型
- 定義
- 模型初始化
- 查詢
- 新增
- 更新
- 刪除
- 隱藏字段
- 模式
- 關聯查詢
- 復雜模型
- 仿知乎個人資料建模
- 關注與粉絲
- 視圖
- 模板
- edge
- 日志
- 錯誤和調試
- 調試當前文件
- nodemon調試
- 異常處理
- Koa2錯誤處理
- 驗證
- Koa驗證器
- async-validator
- installation
- 安全
- 數據加密
- 雜項
- jwt
- koa-jwt
- env環境變量配置
- 上傳
- 分頁和模糊搜索
- 擴展
- nodemon
- bodyparser
- koaJsonError
- cross-env
- uuid生成唯一ID
- pope字符串模板引擎
- 命令行
- 部署
- 附錄
- RESTfulApi
- Http動詞
- 狀態碼
- 調用頻率限制
- 按需查詢字段
- restful分頁