文件上传流程与规范协议
文件上传流程
1.客户端选择需要上传的文件,点击上传,开始建立连接准备上传
2. 服务端接收连接请求,完成连接的建立,接收上传的文件(遵守协议)。
3. 服务端把接收到的文件数据,存入服务器文件系统(某文件夹下)。并且生成供客户端访问的链接路径。
4. 保存完毕即上传成功,之后需要返回给浏览器访问该文件的链接地址,这样浏览器就可以通过该地址访问已经上传的资源。
上传文件时HTTP
协议规范
- 要求客户端上传文件的请求方式必须是
POST
。 - 发请求时必须携带消息头:
Content-Type:multipart/form-data
。 - 客户端将本地文件通过请求
body
以数据流的方式传给服务端。 - 服务端接收客户端传来的文件数据流,边读取,边保存到服务端文件夹中。
那么文件上传了,服务端应该如何配置呢
1.配置multer中间件 const multer = require('multer')
2.创建一种存储方案:diskStorage(磁盘存储)
封装loadData
方法
obj = multer.diskStorage({
destination : function(req, file