时间: 2021-08-03 09:30:32 人气: 4 评论: 0
本文从文件上传的三个阶段:「上传前」、「上传时」、「上传后」来说明作者现在已知的所有文件上传问题,来看看~
好久没有动笔了,久到都快要忘记文字应该怎么写、开头怎么写。最近做完了一个内部系统,趁下一个还在路上,总结一下在这个系统里遇到的「文件上传」问题。当我在准备这篇文章的素材的时候,发现自己在做「文件上传」时仍有部分细节没有考虑到,产品之路还很长,仍需不断总结、不断努力呀。
老规矩,为啥需要上传文件呢?不上传行不行得通?
涉及多方沟通的系统,肯定是需要文件往来,此时上传文件就成了系统不可或缺的功能。不上传肯定是不行的啊,任务流**断开,大家都不舒服。
额,既然绕不开,那要怎么做呢?
我**从「文件上传」的「上传前」、「上传时」、「上传后」三个阶段来说明我现在已知的所有文件上传问题。
需要明确什么文件可以上传,可以进入「上传时」的流程,具体包括:
支持什么样的文件格式? 图**?psd?pdf?word?excel?zip?rar?全部?
嗯,「上传前」里的系统野怪打完了,接下来,该处理「上传中」的野怪了。
文件上传成功了,那后续还要做哪些任务才能完美通过呢?
(1)文件什么时候上传到服务器?选择文件后自动上传?绑定其他事件触发上传?
(2)上传后的文件是否需要预览?预览的规则是什么?直接缩放?显示中间部分?
(3)上传后的文件是否需要下载?
(4)上传后的文件是否支持删除?
(5)上传后的文件是否需要重命名?重命名的规则是什么?按照时间随机数?不重命名可能出现什么问题?
(6)如果允许多次上传,那么采用追加还是覆盖?
以上就是所有我能想到的文件上传中的野怪,接下来说一下自己遇到的坑吧。
坑1:psd文件变 png
关于 psd 文件在浏览器中的上传:chrome 浏览器**把它当作 image 文件上传,剪切板粘贴**转为 png 图**上传;safari 浏览器**把它当作 file 文件上传,剪切板不能粘贴该文件上传。至于其它浏览器是怎么处理的,我们没做兼容,如果你有兴趣,可以研究之后告诉我。
坑2:文件名含空格导致没法下载
坑3:文件名含特殊字符导致预览出现问题
坑2 和坑3 其实是一个问题,都是因为没有对用户上传的文件进行重命名或特殊字符进行过滤导致的。踩了坑之后,才去研究了一下,发现钉钉也没有处理特殊字符的问题,图**缩略图显示有问题,心里一阵窃喜。
不过,现在再去看的时候,发现钉钉已经把这个问题修复了,大家都是在让自己的产品越来越好。
坑4:图**拖拽的拖拽区域太小,导致用户体验很差
支持拖拽这种上传,一定要设置足够大的拖拽区域,不然拖拽这个功能就很难用,还不如点击上传。上线之后,用户也不太喜欢用,那么开发这个功能的意义也就不大。
所以说,做产品还是要做得好一点,这样晚上才睡得安心。
嗯,该分享的内容分享完了,这次就到这里啦。我们,下次再见。
—— End ——
本文由 @Q_misky 原创发布于人人都是产品经理。未经许可,禁止转载