文件上传设计思考及总结

2020-08-07  本文已影响0人  可可的下午茶

上传文件有两种场景,一种是单独一个上传文件的操作。另一种是关联在某个任务中上传文件,比如写日志上传附件,审批申请中上传附件。

本文从上传前,上传中和上传后三个维度来分析和总结文件上传功能。

一.上传前

1.1.确定文件格式:包括图片,视频,文档等等,具体式:PNG,JPG,PDF,EXCEL,WORD,ZIP,RAR。

1.2. 支持上传的方式:点击上传,拖拽上传,复制黏贴上传。

1.3. 单次上传文件大小,既要考虑业务要求,同时也要考虑服务器限制,阿里云最大20M,我们系统一般限制在10M。有限制单次上传文件大小和限制单个文件上传大小两种?一般是限制单次上传的大小。

1.4. 上传数量:分为单文件上传和多文件上传(批量上传)两种。

1.5. 异常处理:是否可以一次性上传多个同名文件?-不可以 已经上传过的文件,是否可以再次上传?--可以,直接覆盖原文件。  空文件是否可以上传--不可以。

1.6. 上传前有选择和上传两个动作,需要定义清楚选择完的效果和上传完的效果。注意这里要有删除按钮。同时要注意,数据写入数据库的时间。

二.上传中

2.1. 上传动作的处理一般有两种方式:一种用进度条,显示百分比,不一定所有场景都能覆盖。一种用loading进度动画,能实现有动作必有反馈这一原则,用户体验会比较好。

2.2.  上传过程中,是否可以有取消操作?一般是不可以取消的。如果可以取消的,要考虑取消后的已上传文件的处理。

2.3.  上传过程中,上传或是提交按钮应该是不可点击的,否则会造成重复点击。

2.4. 是否支持断点续传?一般不是很大的文件,不用考虑这种情况。

2.5. 上传过程中,如果出现失败情况,是否系统自动重试上传,如果是,则需要考虑自动重试几次。

2.6. 上传过程中,是否要做数据校验,是否要对文件进行压缩?如果需要的话,采用什么策略进行压缩?是否存储原图?

三.上传后

3.1 上传后的文件是否支持删除?一般场景下是支持删除的。什么情况不能删除呢?

3.2  上传后的文件是否支持预览及下载?不同格式的文件要单独考虑,图片预览,文件预览和视频在线播放都是不同的实现方式,需要考虑全面。不同格式文件的下载方式也不同,需要分开考虑。

3.3  上传文件后是否需要重命名?我们一般的处理是,按照上传文件名显示,不会进行重命名。

3.4.  文件什么时候上传到服务器?选择文件后自动上传还是绑定其他事件后触发上传?

        选择文件后自动上传,服务器中多余的数据处理? 需要一个专门的清除多余文件的方法,检测文件是否在数据库里有记录,没有就删除,定时运行该程序。

        触发事件后上传, 用户点击“确定”一起把数据提交到后台,如果用户此时刷新界面或者关闭界面,文件可能无法保留。

四.交互样式

上传文件,按钮可点击及不可点击,没有上传文件直接点击上传操作。

五.上传使用的场景(竞品参考)

5.1 审批上传附件(钉钉审批),邮件上传附件(QQ邮箱),网盘上传(百度网盘)。

总结:对于我们平台现有产品来说,重点关注是上传前和上传后,上传中涉及的不多,主要是上传文件情况不复杂,同时上传时间也比较短。

上一篇下一篇

猜你喜欢

热点阅读