我正在创建一个 Web 服务,它将返回由其他用户“排队”的 XPS 文档。我想尽量减少请求的数量,因此我正在考虑将生成的排队文件合并为一个响应:

"Files":
[
  {"Id": 1, "ContentType": "application/vnd.ms-xpsdocument", "Data": "base64-encoded data of file here" },
  {"Id": 2, "ContentType": "application/vnd.ms-xpsdocument", "Data": "another files base64 data"}
]

这是一个可怕的想法吗?有什么我应该担心的吗?因为多个服务器将轮询这个 API,所以我真的想尽量减少发送的请求数量。如果有更好的方法来做到这一点,我真的很感激任何建议。

FWIW,我计划用于对文件进行 base64 编码/解码的方法取自 this question

最佳答案

将文件压缩/压缩到存档中?这避免了 base64 数据爆炸。

编辑:正如您在评论中还询问如何处理每个文件的元数据,让我在这里总结一下,以便将来引用:

  • 将元数据放入每个 zip 文件条目的注释字段中。
  • 对于每个文件,在存档中创建一个单独的文件,同名加上一些您将元数据放入的关键扩展名(.metadata?)。
  • 将元数据嵌入到文件名中。 (我猜这是一个新想法)
  • 关于.net - JSON 响应是否应该返回 base64 编码的文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8235618/

    10-11 09:18
    查看更多