我正在寻找一种将图像从android上传到php服务器的方法,目前我正在将图像编码为base64并发送它,但是它太慢了,有没有更好的方法
我正在使用 volley 作为网络客户端。
我的2分钱:
根据您的目标,几乎没有什么可以改进的。
- 如果您担心数据使用情况,那么您可以在上传之前减小图像的大小。现在,对于较新的手机型号来说,图片分辨率非常高。您可以在上传之前在设备本身上更改图像的大小。例如:如何将图像(位图)调整为给定尺寸? https://stackoverflow.com/questions/8471226/how-to-resize-image-bitmap-to-a-given-size and 在android中减小图像尺寸而不损失其质量 https://stackoverflow.com/questions/28424942/decrease-image-size-without-losing-its-quality-in-android
- If you are worried about blocking user when the images are uploading:
- 在后台执行上传部分,这样就不会阻止用户执行任何操作。
- 另外,正如评论中所建议的,您可以进行分段上传,这样万一上传出现问题,您不必再次上传整个内容。
- If you are only worried about the time taken to upload:
- 您要么需要更好的网络连接,要么需要减小图像大小。如果您知道大多数用户将位于连接性较低的区域,那么减小大小可能会更好。
- 您可以使用一些库,例如Facebook 的网络连接
质量检查员
班级 https://github.com/facebook/network-connection-class去检查
尝试上传并可能等待时的当前网络质量
上传前请确保网络质量良好。
- 您可以选择仅通过 Wi-Fi 上传并使用
BroadcastReceiver
监听其状态的变化。
例如:
- 看看凌空是否支持
gzip
压缩。如果确实如此,请确保您正在压缩请求。通过这种方式,您可以压缩请求数据,这可以大大改善大小。Android Volley:gzip 响应 https://stackoverflow.com/questions/21144992/android-volley-gzip-response
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)