【问题标题】:Base64 image upload VS Binary image upload?Base64 图像上传 VS 二进制图像上传?
【发布时间】:2013-02-09 12:25:33
【问题描述】:

我希望我的移动应用程序能够将图像上传到我的服务器,在我的情况下,它是带有 nginxRails 3.2.11

我阅读了很多关于 Base64 在客户端编码然后在服务器端解码的信息。

为什么不在 http 请求上使用 binary 上传和 multipart 标头?

每种技术是否有任何优点/缺点

【问题讨论】:

    标签: android ruby-on-rails image http base64


    【解决方案1】:

    Base64 将您的数据转换为二进制数据的 ASCII 表示。它允许您将数据嵌入到文本流中,例如 JSON。 Base64 将传输的数据大小增加了 33%。

    multipart/form-data 是在 HTTP 请求中传输二进制数据的标准方式。它允许您为要传输的每个部分使用特定的编码/内容类型。在我看来,除非您有特定要求或设备/SDK 功能,否则您应该坚持分段上传。

    【讨论】:

      【解决方案2】:

      '为什么不在 http 请求上使用带有多部分标头的二进制上传?确实为什么不;)

      Base64 图像表示可以直接放在 html 中以呈现图像。

      二进制占用的空间更少。并受益于更大的网络效应和标准化。例如。如果你想使用亚马逊简单的安全存储 S3,你必须存储一个二进制文件。您不能存储需要键/值存储的字符串,例如redis。

      【讨论】:

      • 更正:如果您愿意,可以将字符串存储在 S3 中。这只是一个选择。我同意当您只想存储字符串时,redis 更适合键/值存储。
      猜你喜欢
      • 2015-11-29
      • 1970-01-01
      • 1970-01-01
      • 2022-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-01
      • 2017-04-26
      相关资源
      最近更新 更多