两种文件上传的处理方式以及优势劣势

上传方式一:图片选择完毕立即上传

这种方式有个问题就是,假设用户频繁选定后又取消,这时取消掉的图片已经上传到服务器了.
这时候有两种处理方式:

两种文件上传的处理方式以及优势劣势

劣势解决方法一:

传递文件时携带两个参数,一个是当前选择的文件,一个是之前传好的文件的路径.假如服务器返回的路径为serverUrl,客户端这边定义一个userUrl空字符串,一开始没有值.如果用户选择过又取消,后台可以判断有没有值,有的话说明是是不要的,就根据路径删除指定文件.
这个方法的好处是可以提升用户体验,对比第二种解决方法,点击提交后再传递文件,如果文件比较大,而网络比较慢的时候会出现短暂白屏.而第一种点击提交后只需要提交路径.

两种文件上传的处理方式以及优势劣势

劣势解决方案二:

不去理会废弃的文件,创建一个临时文件存储,用户点击提交按钮的时候将临时文件的路径变更为upload文件,而临时文件定期清理即可.

两种文件上传的处理方式以及优势劣势

上传方式二:本地预览

用户选择文件时不做处理,传递二进制的文件,只做预览.生成路径赋值给img即可.点击提交时用fromDate收集数据一起提交到服务器.
优势:用户怎么选择都可以,只要没按提交,服务器都不受影响.
劣势:当提交时把文件数据当做请求参数一起发送,文件大的话比较慢.

两种文件上传的处理方式以及优势劣势

总结:

文件大的情况下建议选择第一种,让文件先走一步.文件小的话问题都不大,当然关键看后端处理.