一尘不染

最好以JSON形式将文件和关联数据发布到RESTful WebService

json

这可能是一个愚蠢的问题,但是我有一个夜晚。在一个应用程序中,我正在开发RESTful
API,我们希望客户端将数据作为JSON发送。此应用程序的一部分要求客户端上载文件(通常是图像)以及有关该图像的信息。

我很难追踪单个请求中的情况。是否可以将文件数据Base64转换为JSON字符串?我需要在服务器上执行2个帖子吗?我不应该为此使用JSON吗?

附带说明一下,我们在后端使用Grails,并且本机移动客户端(iPhone,Android等)可以访问这些服务(如果有区别的话)。


阅读 229

收藏
2020-07-27

共1个答案

一尘不染

您基本上有三个选择:

  1. Base64对文件进行编码,其代价是将数据大小增加了约33%,并在服务器和客户端中增加了处理编码/解码的开销。
  2. 首先在multipart/form-dataPOST中发送文件,然后将ID返回给客户端。然后,客户端发送带有ID的元数据,然后服务器将文件和元数据重新关联。
  3. 首先发送元数据,然后将ID返回给客户端。然后,客户端发送带有ID的文件,然后服务器将文件和元数据重新关联。
2020-07-27