当前位置: 首页 > news >正文

【文件管理】关于上传下载文件的设计

这里主要谈论的是产品设计里面的文件管理,比如文件的上传交互及背后影响到的前后端设计。

上传文件

场景:一条记录,比如个人信息,有姓名,出生年月,性别等一般的字段,还可以允许用户上传附件作为补充,比如上传个人的学历证明等。

版本一

【平台】-【基金管理】-【产品信息】旧页面(现已废弃)

后端

用户上传文件,会将文件存在一个路径下。

前端

这里的交互设计其实和后端的做法没有什么关联。就是设计的不合理。

交互设计

新建弹窗分多步完成。

  1. 点击新增,第一步只允许编辑一般字段,点击下一步之后,先调用一次 Create 接口,后端返回该新增记录的ID;
  2. 第二步,允许用户上传附件,并且不用用户点击确定按钮就已经调用了上传接口。删除附件也是立即调用删除附件的接口。
  3. 点击确定,更新附件的信息到该记录的附件字段。

导致的问题:所有的用户下的附件不能重名。

优点: -

缺点:用户交互麻烦,如果在上传附件的时候,想要放弃该条数据,就要关闭弹窗再去删除这条数据。(或者在第二步的弹窗中有取消按钮,点击取消就去删除第一步跳转过来时候 create 接口新增的数据)

版本二

【平台】-【基金管理】-【产品信息(新)】

后端

在版本一的基础上,会在文件名前生成一个uuid,存到路径中。
并根据文件内容生成一个md5信息,在调用上传文件的接口后,会将文件的这些信息返回。

前端

交互设计

新建弹窗中,附件也和其他字段一样管理。在点击“确定”之后,attachments字段数组存放的是上传文件接口返回的文件信息,将这个字段和其他字段一起在调用 create 接口的时候作为 payload 传下去。

缺点:文件会越来越多,一直是增量的,即使在记录中删除了附件,也没有在数据(文件路径下)中真正的删除。

采用理由:在产品信息新页面中,是需要记录修改历史记录的,没有物理删除。所以该方案合理。

版本三

【平台】-【OA】-【表单设计】-【上传组件】

http://www.lryc.cn/news/309544.html

相关文章:

  • 微服务架构 SpringCloud
  • 前端 css 实现标签的效果
  • SLAM基础知识-卡尔曼滤波
  • 云时代【6】—— 镜像 与 容器
  • 【QT+QGIS跨平台编译】之五十三:【QGIS_CORE跨平台编译】—【qgssqlstatementparser.cpp生成】
  • JMeter性能测试基本过程及示例
  • 你知道什么是回调函数吗?
  • mac苹果电脑c盘满了如何清理内存?2024最新操作教程分享
  • k8s-kubeapps图形化管理 21
  • 1_Springboot(一)入门
  • Docker Machine简介
  • GWO优化高斯回归预测(matlab代码)
  • LaTeX-设置图像与表格位置
  • STM32 DMA入门指导
  • mysql根据指定顺序返回数据--order by field
  • IEEE SGL与NVMe SGL的区别?
  • struct内存对齐
  • 探索Redis 6.0的新特性
  • 关于CSS中定位的教程
  • 抽象类、模板方法模式
  • 消息队列kafka
  • 复盘成长——2024.2月复盘
  • Kafka安全模式之身份认证
  • 3、Redis-List【常用】
  • 黑马c++ STL部分 笔记(7) list容器
  • 关于使用Mxnet GPU版本运行DeepAR报错解决方案
  • 【STM32】江科大STM32学习笔记汇总(50)
  • LabVIEW非接触式电阻抗层析成像系统
  • 蓝桥杯备战刷题three(自用)
  • 密码学——二次剩余