如何统一文件上传

目前做的业务比较杂,维护比较多的内部系统,每一个系统都需要独立的文件上传相关的模块(除了简单的文件上传,还需要考虑文件备份,用户上传临时文件处理等等重复逻辑),目前只是将一些处理上传限制的逻辑代码统一到框架上,想问如果要统一成一个文件上传的服务模块有什么注意的吗

阅读 3.1k
3 个回答

统一的文件上传系统需要考虑几点

  1. 文件的存储形式,是否采用分布式数据库,要不要备份双份、三份
  2. 文件大小检查算法,文件查重算法,文件名,文件内容hash,是否需要储存同一文件的不同版本,是否需要差分存储
  3. 不同业务项目拥有独立的上传地址和图片访问地址,如何区分
  4. 是否需要针对图片文件进行优化 ,比如图片压缩,剪裁,自动生成缩略图
  5. 支持大文件断点续传,支持多图上传
  6. 提供接口,每个具体的业务项目可以编写自己的上传处理算法和文件访问算法

新建一个上传类,对原有的上传方式进行封装,上传的路径,存储路径,验证规则,生成规则都在调用的时候传入
可以参考下 其他框架里面的 处理流程啊

封装成一个功能模块,但是其中涉及到可能具有不同特性和参数的地方就用传入参数来代替,比如上传地址,备份地址等。其次是如果上传功能中还有一些小功能一致的模块就再单独封装。这样如果有各个系统具体不同的业务逻辑的话,你就只需要单独写了放进这个模块当中某个位置就行了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题