Android 如何使用谷歌推荐的HTTPURLConnection压缩多个图像并发布到服务器?

Android 如何使用谷歌推荐的HTTPURLConnection压缩多个图像并发布到服务器?,android,httpurlconnection,android-image,Android,Httpurlconnection,Android Image,如何使用谷歌推荐的HTTPURLConnection压缩多个图像并发布到服务器?例如,50个可用的图像getExternalFilesDir(Environment.DIRECTORY\u PICTURES)目录 我可以使用Gzip作为单个文件进行合并和压缩吗 一个文件中可以包含多少图像 使用HTTPURLConnection发送到服务器的压缩文件的最大大小是多少 我可以用它来发布压缩文件吗 在安卓系统中,是否有将多个图像发布到服务器的最佳实践 Gzip只压缩流,不维护文件目录。您可以使用“ja

如何使用谷歌推荐的HTTPURLConnection压缩多个图像并发布到服务器?例如,50个可用的图像getExternalFilesDir(Environment.DIRECTORY\u PICTURES)目录

  • 我可以使用Gzip作为单个文件进行合并和压缩吗
  • 一个文件中可以包含多少图像
  • 使用HTTPURLConnection发送到服务器的压缩文件的最大大小是多少
  • 我可以用它来发布压缩文件吗
  • 在安卓系统中,是否有将多个图像发布到服务器的最佳实践
  • Gzip只压缩流,不维护文件目录。您可以使用“java.util.zip.*”或JTar对文件进行tar,然后使用Gzip。取决于您在服务器端拥有什么
  • 这应该只受到带宽的限制
  • 服务器端(例如php.ini)可能存在限制,而Android则不存在限制
  • 多部分可能是解决问题的一种方法。但是,目前还没有适合HttpURLConnection的实现。您的二进制文件有可能通过转换为Base64编码的7位字符串来“扩展”负载(我不确定这一点)
  • 我不知道。但这里非常重要的一点是,您应该在后台服务中传输图像,尤其是在构建大块数据时。甚至AsyncTask也可能不够,因为生命周期可能取决于活动,并且在上载大量数据时,活动可能已经被销毁。看一看。如果你不使用图书馆,至少复制他们使用的策略。就我个人而言,我会从一个图像一个图像的二进制上传开始,每个图像都有一个新的HttpURLConnection。Android将保持一个开放的连接(保持活跃),流量可以是二进制的,唯一的损失就是一些时间(延迟)。但这将更容易在客户端实现,也可能在服务器端实现

  • 对于图像,您将无法获得合理的压缩率。GIF、JPG和PNG已被压缩。您需要一个特殊的服务器端逻辑,因为“普通”服务器不希望上传被压缩。如何将多个.jpg映像文件合并到一个文件中并在HttpURLConnection中发布?
    HttpURLConnection
    默认情况下使用keep alive。为什么不通过自己的帖子发送每张图片?如果出现错误,您可以确切地知道哪些映像已经到达服务器。当将它们“聚集”在一起时,您每次都必须使用整个区块重试。我试图通过压缩图像文件来减少发送到服务器的数量,因为这样可以节省电池。是否有谷歌推荐的发送多个图像的方法?我可以将MultipartEntity与HTTPUrlConnection一起使用吗?将图像作为文件或二进制数据发布?哪个最适合HTTP Post?