http post 文件上传应该怎么选择?

我现在有遇到一个问题,因为我的接口,统一采用json字符串的方式接收和传递,这就导致了一个问题,那就是客户端上传图片的时候,不能使用http post multipart/form-data 这种分段上传的方式,这种方式可以将文件内容一段的一段的写到硬盘里面,使用json的方式只能将文件数据base64编码之后,放到json数据中,传递给我,这样的方式,对于服务器的内存压力有点大,我理解的对吗?

阅读 4.4k
2 个回答

如果用json的话,当然可以用base64编码,编码是文本,如果文件很大的话,传输数据自然会有点大。multipart/form-data使用二进制格式,数据量会小一些。

但现在服务器内存都很大,应付一般文件的base64编码完全没压力。

其实rest api也不一定不能用multipart/form-data,这要看你如何理解rest,有时候也不一定要框框限制死自己。

为了方便管理,可以单独提供一个上传接口,在需要资源文件的地方只保存路径。

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