Koa 面试题 目录

如何使用 koa-body 中间件处理文件上传?

推荐答案

-- -------------------- ---- -------
----- --- - ---------------
----- ------- - --------------------
----- -- - --------------
----- ---- - ----------------

----- --- - --- ------

-----------------
  ---------- ----- -- ------
  ----------- -
    ---------- -------------------- ----------- -- --------
    --------------- ----- -- -------
    ------------ --- - ---- - ----- -- ----------
  -
----

------------- ----- -- -
  -- ----------- --- ------ -- ------- --- ---------- -
    ----- ---- - ----------------------- -- -------
    ----- ------ - -------------------------------
    ----- ------ - ----------------------------------------- ---------- ------------
    --------------------
    ---------------------- -- -- ---- ---------- -------------
    -------- - ------- ----------
  -
---

---------------- -- -- -
  ------------------- -- ------- -- ------------------------
---

本题详细解读

1. 安装 koa-body 中间件

首先,你需要安装 koa-body 中间件,它可以帮助你处理文件上传。

2. 配置 koa-body 中间件

在 Koa 应用中,使用 koa-body 中间件来处理文件上传。你需要设置 multipart: true 来启用文件上传功能,并通过 formidable 配置项来设置文件上传的相关参数。

  • uploadDir: 指定文件上传的目录。
  • keepExtensions: 是否保留文件的扩展名。
  • maxFileSize: 设置上传文件的最大大小。

3. 处理文件上传请求

在路由处理函数中,你可以通过 ctx.request.files 来获取上传的文件。ctx.request.files.file 表示上传的文件对象,其中 file.path 是文件的临时路径,file.name 是文件的原始名称。

4. 保存上传的文件

使用 fs.createReadStream 读取临时文件,并通过 fs.createWriteStream 将文件写入到指定的目录中。通过 reader.pipe(stream) 将文件流从临时路径写入到目标路径。

5. 返回响应

文件上传成功后,返回一个成功的响应给客户端。

6. 启动服务器

最后,启动 Koa 服务器,监听指定的端口。

通过以上步骤,你可以使用 koa-body 中间件轻松处理文件上传。

纠错
反馈