|
@@ -240,3 +240,28 @@ export default router;
|
|
|
|
|
|
### 3.6 文件上传
|
|
|
|
|
|
+> `koa-body`内置支持文件上传。
|
|
|
+
|
|
|
+但是默认是没有开启请求体`multipart/form-data`类型的解析,在对应上传文件的路由上需要单独配置。像这样,
|
|
|
+
|
|
|
+```js
|
|
|
+// 上传文件
|
|
|
+router
|
|
|
+ .put(
|
|
|
+ '/upload',
|
|
|
+ koaBody({
|
|
|
+ multipart: true,
|
|
|
+ formidable: {
|
|
|
+ uploadDir: './public', // 文件上传后位置
|
|
|
+ keepExtensions: true, // 保留原文件的后缀名
|
|
|
+ },
|
|
|
+ }),
|
|
|
+ (ctx) => {
|
|
|
+ // 获取待上传的文件
|
|
|
+ // 通过ctx.request.files 获取上传后文件的相关信息,比如newFilename 为 上传文件后的新名称
|
|
|
+ console.log(ctx.request.files);
|
|
|
+ ctx.body = `/${ctx.request.files.file.newFilename}`;
|
|
|
+ }
|
|
|
+ );
|
|
|
+```
|
|
|
+
|