【问题标题】:How to send image as a REST API response? What guidelines to follow? [closed]如何将图像作为 REST API 响应发送?要遵循哪些准则? [关闭]
【发布时间】:2021-11-15 02:13:38
【问题描述】:

我正在使用Node.js 和Express 制作应用程序。我可以使用multer 将文件保存到服务器,但是在发送响应时我有两个选择,

  1. 以 JSON 格式发送图片的 URI,让前端调用这个来显示图片。
  2. 使用某种形式的编码(如 Base64)作为 JSON 的一部分发送图像数据。

由于我是 Web 开发的新手,我对使用哪个选项感到困惑。有人说第一个选项需要两次 API 调用,所以会很慢。虽然我也听说第二个选项会占用更多的内存资源。

在选择时我还应该考虑哪些其他事项,还有其他向客户端发送图像的方式吗?

【问题讨论】:

    标签: node.js json rest express


    【解决方案1】:
    选项 1

    不那么复杂,因为不需要转换。 这 2 个 API 调用不会减慢您的速度。图像大小更重要!!.. 文件可以直接在文件系统上存储/访问并从那里提供。文件下载也在短时间内实现。此外,base64 编码使文件大致 ~33% (!!) 更大,这对大文件的性能有巨大影响。

    选项 2

    Base 64 更安全,因为没有人可以像 here 所述链接到您的网站。 出于安全原因,您只需要使用 base64,或者如果您无法将图像数据作为二进制传输,则必须将其传输为字符串。

    用例
    • 如果这是您的私人非生产性项目,请尝试两者并使用您喜欢的一个。最后,您正在学习一些东西。保持一致很重要!
    • 如果某个选项更适合您,只需按照您喜欢的方式实施即可。当您可能有更多经验或完成应用程序的核心部分时,您始终可以重构应用程序的给定部分。有时,在使用其中一种技术一段时间后,会更清楚使用哪种方法。
    • 为了学习,有时最好还是继续实践一些可行的方法 并在出现问题时开始重构。而不是过度设计小型

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-26
      • 2020-10-14
      • 1970-01-01
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      • 2013-07-05
      • 1970-01-01
      相关资源
      最近更新 更多