七牛Android SDK上传进度只有95%和上传完成两个,文件大小都在(5, 20)MB内

新手上路,请多包涵

上传的都是照片,获取进度的回调只会执行一次,就是95%,然后就是上传完成。是分片大小的原因吗

阅读 3.3k
2 个回答
✓ 已被采纳新手上路,请多包涵

自己答一下, Android端七牛SDK在上传字节数组时是没有进度回调的, 可以自行修改一下, 我修改的版本在此, 索性直接加了个上传ByteBuffer的接口, 因为SDK中负责分片上传的ResumeUploader本身是用了RandomAccessFile, 和ByteBuffer提供的接口很相似,加一个ByteBuffer很方便: 可上传ByteBuffer的七牛SDK

因为上传进度是用 sdk 写入 socket 的字节数/总字节数作为进度,但写入 socket 不等于服务器收到并且处理完成,中间还有一段时间,如果只是用字节数就会出现更怪异的情况,在 100% 停留很久,所以综合考虑就使用了 95% 这个值。

如果发现上传卡在 95% 很长的时间,请检查是否使用了上传回调业务服务器的功能,请确保业务服务器接受到上传回调后可以返回正确的状态码和回复内容。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
七牛云问答
子站问答
访问
宣传栏