Android Base64图像上传与二进制图像上传?

Android Base64图像上传与二进制图像上传?,android,ruby-on-rails,image,http,base64,Android,Ruby On Rails,Image,Http,Base64,我希望我的移动应用程序能够将图像上传到我的服务器,在我的情况下,它是一个带有nginx的Rails 3.2.11 我读了很多关于在客户端编码然后在服务器端解码的文章 为什么不在http请求上使用带有多部分头的二进制上传 每种技术都有任何利弊吗?Base64将数据转换为二进制数据的ASCII表示形式。它允许您将数据嵌入文本流中,例如JSON。Base64将传输的数据大小增加了33% multipart/form data是HTTP请求中传输二进制数据的标准方式。它允许您为要传输的每个部件使用特定的

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

我读了很多关于在客户端编码然后在服务器端解码的文章

为什么不在http请求上使用带有多部分头的二进制上传


每种技术都有任何利弊吗?

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


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

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

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


二进制文件占用更少的空间。并受益于更大的网络效应和标准化。例如,如果你想使用amazon simple secure storage S3,你必须存储一个二进制文件。您不能存储需要密钥/值存储的字符串,例如redis。

好消息
base64
显著增加大小。谢谢。很好的建议,我不知道为什么这不是7年后被接受的答案。