一天一道面试题:前端上传全攻略

in Web 前端 with 0 comment

几乎所有项目中都会用到文件上传模块,根据不同的场景,我们需要选择不同的文件上传方式。

003 · 前端上传全攻略

问题(Question)

  1. koa2 用过没,使用 koa2 作为服务端写一个文件上传接口
  2. 上传文件的类型应该填啥

知识回顾

原文地址

一、文件上传

文件上传,就是根据 http 协议的规范和定义,完成请求消息体的封装和消息体的解析,然后将二进制内容保存到文件。

我们都知道如果要上传一个文件,需要把 form 标签的 enctype 设置为 multipart/form-data ,同时 method 必须为 post 方法。

请求头:

Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryDCntfiXcSkPhS4PN 表示本次请求要上传文件,其中boundary表示分隔符,如果要上传多个表单项,就要使用boundary分割,每个表单项由———XXX开始,以———XXX结尾。

消息体

Form Data,每一个表单项又由 Content-TypeContent-Disposition 组成。

Content-Disposition: form-data 为固定值,表示一个表单元素,name 表示表单元素的名称,回车换行后面就是 name 的值,如果是上传文件就是文件的二进制内容。

Content-Type, 表示当前的内容的 MIME 类型,是图片还是文本还是二进制数据。


-EOF-

Responses