当前位置: 首页 > 面试题库 >

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

胡野
2023-03-14
问题内容

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

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

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


问题答案:

您基本上有三个选择:

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


 类似资料:
  • 问题内容: 我有这个JSON字符串。我想将其发布到服务器(即使用POST方法)。如何在Android中完成? JSON字串: 如何形成此JSON数组并将其发布到服务器? 问题答案: 我自己做的。 这就是我们如何将JSON数据发送到服务器。

  • 我知道如何发布json,我知道如何在Postman中以多部分形式发布文件。但我怎样才能同时做到这两件事呢。例如: 以下是我要发布的jason: 那么如何发布位于以及上面的json? 更新:请注意,我希望使用JSON发送文件,所以我的问题不同于使用Postman发送多部分表单。

  • 我有这个ASP。NET Web API方法,我想发布一个对象,同时发布一个文件! 我想调用它,所以我用小提琴手发送这个超文本传输协议请求: 标题: 身体: 我得到一个415错误代码与响应文本: {“message”:“此资源不支持请求实体的媒体类型‘multipart/form data’。”,“exceptionMessage”:“没有MediaTypeFormatter可用于从媒体类型为“mu

  • 之后,服务器将通过URL地址给出响应作为授权代码(我已经完成了这一步,并得到了代码)。 正如docs解释的那样,代码应该使用/oauth2/access_token交换访问令牌,只要有客户机ID和客户机Secret(get access_token) 但是我不知道如何通过cURL将数据发送到服务器,我尝试了很多curl_setopt()选项和组合,但仍然一无所获。

  • 问题内容: 如何使用HttpURLConnection发布JSON数据?我正在尝试: 我在第14行中收到编译错误。 cURL请求为: 这是处理cURL请求的方法吗?任何信息对我都会非常有帮助。 谢谢。 问题答案: OutputStream希望使用字节,并且您要向其传递字符。试试这个:

  • 问题内容: 是否可以将数据发布到JsonP?还是所有数据都必须作为GET请求传递到查询字符串中? 我有很多数据需要跨域发送到服务,并且太大,无法通过查询字符串发送 解决这个问题有哪些选择? 问题答案: 由于同一个原始策略的(相当明智的)限制,因此无法与另一个域上的服务进行异步。JSON- P之所以起作用,是因为允许您将标签插入DOM,并且它们可以指向任何地方。 当然,您可以使用常规形式的POST来