web-services - 返回图像和数字的 Web 服务

标签 web-services

如果我有一个返回图像的网络服务,是否有一种标准方法可以让它返回一些结构化数据(在最简单的情况下,是一个附加的字符串或数字)?

参见this question返回图像的 Web 服务的 PHP 示例。 (但我现在的问题不是特定于 PHP 的。)

可能的解决方案(大多不是很令人满意):

  1. 将额外数据放入图像的元数据中。
  2. 将额外数据放入 HTTP header 中。
  3. 让网络服务返回一个随机数 URL,可在有限的时间内从中获取图像。
  4. 对图像进行 Base64 编码,使其成为 JSON 或 XML 数据结构中的巨大字符串字段。 (感谢CarlesTiago。)

你会怎么做?

(我真的不想将 Web 服务分成两个单独的调用,因为 Web 服务需要大量参数,并且将它们全部发送两次似乎很浪费。)

最佳答案

HTTP header 是一个可行的选择,因为它们可以轻松地在服务器端和客户端进行解析。您可以做的另一件事是设置一个 302,将其重定向到 URL 中包含图像和数据的 URL(例如 ->

  1. 点击http://mysite.com/bestimageever.png
  2. 调用 302 至 http://mysite.com/realbestimage.png?supercoolinfo=42

这对用户来说是透明的,并且大多数 API 客户端都可以工作(因为它们处理重定向)

关于web-services - 返回图像和数字的 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4650396/

相关文章:

java - 是否可以将ldap服务器直接连接到Android手机?

xml - W3 和 xmlsoap.org 架构之间有什么区别?

java - 学习 RESTful Web 服务之前有什么先决条件吗?

web-services - JBoss Fuse 和编排

java - 引用自己的wsdl url

ios - 在 SWIFT 中调用 SOAP 服务

xml - 强制 Spring Web 服务将 xsd 命名空间添加到响应中

java - Axis2 SOAP 请求

c# - 服务引用未加载 : Schema with target namespace could not be found

c# - 如何在 WebMethod 中获取调用方的 IP 地址?