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

Gal*_*len 0 php java upload android android-volley

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

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

Sho*_*uri 5

我的2美分:

根据您的目标,很少有东西可以改进.

  1. 如果您担心数据使用情况,则可以在上传之前减小图像的大小.现在是新手机型号的日子,图片分辨率非常高.您可以在上传之前更改设备本身上的图像大小.例如:如何将图像(位图)调整为给定大小?减少图像大小而不会失去其在android中的质量
  2. 如果您担心在上传图片时阻止用户:
    • 在后台上传部分,这样就不会阻止用户做任何事情.
    • 同样如评论中所建议的那样,您可以进行多部分上传,以便在上传出现问题时,您不必再次上传整个内容.
  3. 如果您只担心上传时间:
    • 您需要更好的网络连接或降低图像大小.如果您知道大多数用户将处于较低的连接区域,那么减小大小可能会很好.
    • 您可以使用Facebook的网络连接质量检查器类等库来检查尝试上传时的当前网络质量,也许在上传之前等待高质量的网络.
    • 您可以选择仅上传Wi-Fi并使用它BroadcastReceiver来监听其状态的变化.例如: 当wifi或3g网络状态改变时,BroadcastReceiver
    • 看看凌空是否支持gzip压缩.如果它确实确保您正在压缩请求.通过这种方式,您可以压缩您的请求数据,这可以大大改进.Android Volley:gzip响应

希望这可以帮助.