文件和其他数据一起提交是否可取?

请问在创建用户时,一般都是先上传用户头像,再提交其他用户数据,这些的话会产生2次请求,如果把头像图片转二进制数组或base64,一次提交,这样做有什么弊端吗

阅读 1.8k
2 个回答

Base64 字符串相对于原二进制字节数据而言长度会膨胀三分之一;另外服务端在接收后 Decode 过程本身是额外的开销(除非说你数据库里直接就存 Base64 字符串,那反倒还节省了,但一般没有这么干的)。其他也就没啥了。

P.S. 为啥不用 FormData?

这种其实就是二步走的问题,如果无法保证事务性就保证幂等性就足够了,对整个系统来说没什么弊端,无非就是提前上传头像但是用户最终没有保存或者注册,会浪费一些存储空间罢了。

如果存储空间比较紧张,或者关心存储成本,后期写个定时任务后台清除未引用的资源就行了

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