当前位置: 代码迷 >> Android >> ,android图片上传,及时更新进度有关问题
  详细解决方案

,android图片上传,及时更新进度有关问题

热度:33   发布时间:2016-05-01 21:41:38.0
求助,android图片上传,及时更新进度问题
公司现在正做一个其他网站的android客户端,有点类似腾讯微博,利用官方提供的api接口进行开发,但现在的需求是实现上传照片时,及时更新进度条,SDK中无此功能,所以需要自己写。
  我的思路是利用HttpURLConnection建立连接,将图片转化为流,然后传输到服务器,但这样做无法监听到输出流的传输进度,到底要怎么做,才能监听到流的传输进度呢~请高手们帮帮忙,研究三天了,还没解决……泪流满面啊
  以下是主要代码:
con=(HttpURLConnection)url.openConnection();
 con.setDoInput(true);
 con.setDoOutput(true);
con.setUseCaches(false);
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", contentType);
con.setRequestProperty("Authorization", "OAuth "+ token);
con.connect();
以上httpHeader,是官方API提供的格式,没有错误。(如果用严格的自定义表单格式,我也就不纠结进度问题了)
DataOutputStream dos = new DataOutputStream(con.getOutputStream());
InputStream fStream = new FileInputStream(path);
byte[] buffer = new byte[1024];
int length = -1;  
while ((length = fStream.read(buffer)) != -1) {
 
  dos.write(buffer);
 
}
fStream.close();
dos.flush();
dos.close();
con.getResponseCode();
本以为在上面循环中,分批将文件信息读入流中就可以实现进度监听,但实践过后才发现,系统是将整个文件读入流后才传输出去的,也就是说循环结束后才发送数据……现在就是不知道如何在数据传输时监听传输数据……

------解决方案--------------------
通过线程和Handler共同实现 如果你需要的话 我可以把代码给你发过去
------解决方案--------------------
探讨
通过线程和Handler共同实现 如果你需要的话 我可以把代码给你发过去
  相关解决方案