android高效的方式将图像上传到服务器

时间:2018-06-06 22:17:35

标签: java php android upload android-volley

我正在寻找一种方法将图像从android上传到php服务器,目前我正在将图像编码为base64并发送它,但它太慢了,是否有更好的方法

我正在使用凌空作为网络客户端。

1 个答案:

答案 0 :(得分:5)

我的2美分:

根据您的目标,可以改善很少的事情。

  1. 如果您担心数据使用,则可以在上传之前减小图片的大小。现在是新手机型号的日子,图片分辨率非常高。您可以在上传之前更改设备本身上的图像大小。例如:How to resize image (Bitmap) to a given size?Decrease image size without losing its quality in android
  2. 如果您担心在上传图片时屏蔽用户
    • 在后台进行上传部分,这样您就不会阻止用户做任何事情。
    • 另外,根据评论中的建议,您可以进行多部分上传,以便在上传出现问题时,您不必再次上传整个内容。
  3. 如果您只担心上传时间
    • 您需要更好的网络连接或降低图像大小。如果您知道大多数用户将处于较低的连接区域,那么减小大小可能会很好。
    • 您可以使用Facebook's Network Connection Quality Checker Class之类的库来检查 尝试上传时可能等待的当前网络质量 上传前提供优质网络。
    • 您可以选择仅在Wi-Fi上传,并使用BroadcastReceiver来监听其状态的变化。 例如: BroadcastReceiver when wifi or 3g network state changed
    • 查看凌空是否支持gzip压缩。如果它确实确保您正在压缩请求。通过这种方式,您可以压缩您的请求数据,这可以大大改进。 Android Volley: gzip response
  4. 希望这有帮助。