Day 46 文件上传下载

文件上传下载

上传

  1. 客户端发送文件的详细信息(文件名称,大小,md5,一个key用于表示请求类型)
  2. 先接受文件信息
  3. 判断如果是上传则开始接受文件
  4. 接收到文件后存储到临时地址
  5. 将请求数据与文件地址提交给业务逻辑
  6. 将业务逻辑返回的数据发送给客户端

下载

  1. 客户端发送请求,包含(文件名称,下载标识)
  2. 服务器接收到响应后,不知道文件路径,需要将请求提交给业务逻辑层
  3. 业务逻辑层根据文件名获取文件的路径
  4. 将文件路径返回给服务器
  5. 服务器判断业务逻辑的返回值,如果需要下载文件
  6. 发送文件信息
  7. 接收文件信息
  8. 发送文件数据
  9. 客户端接收文件数据
  10. 客户端对比md5值确定知否下载成功

文件的MD5 校验

主要用于保证文件的一致性,比如文件下载过程中,可能丢失数据,导致数据错误无法正确识别

  1. 发送方先校验原始文件得到一个md5值
  2. 接收方接收后也用相同的算法计算一个md5值
  3. 判断两端的md5值是否相同,相同则表示传输正确

服务器异常处理

实现客户端的业务逻辑

实现步骤

  1. 设计表
  2. 在modles中创建类,继承基类modle
  3. 在客户端提供一个功能,主要是接收用户输入的数据
  4. 发送请求给服务器 client中的send_request 接收请求 recv_response
  5. 服务器创建对应的接口函数幂函数需要注册到mapping中
  6. 当请求到达后悔调用对应的接口函数
  7. 取出请求数据request,进行逻辑判断
  8. 进行数据存储,如User类的save保存get_object获取数据
  9. 给客户端返回响应结果,必须是字典类型

注意:

客户端与服务器的字段名称必须对应

请求数据中必须包含func

posted @ 2019-07-29 16:39  萨萌萌  阅读(128)  评论(0编辑  收藏  举报