new AsyncTask<Void, Integer, InputStream>() {
InputStream is = null;

@Override
protected InputStream doInBackground(Void... params) {

try {
URL mUrl = new URL(url);
HttpURLConnection c = (HttpURLConnection) mUrl
.openConnection();
c.setRequestMethod("POST");

String host = null;
try {
host = new URL(url).getHost();
} catch (MalformedURLException e) {
e.printStackTrace();
}

String cookieStr = CookieManager.getInstance()
.getCookie(host);
if (!AppUtils.isEmpty(cookieStr)) {
c.addRequestProperty("Cookie", cookieStr
+ "; AcSe=0");
}
c.setDoOutput(true);
c.connect();
is = c.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
return is;
}

@Override
protected void onPostExecute(InputStream result) {
String fileName = contentDisposition.replaceFirst(
"attachment; filename=", "");
try {
File file = new File(Environment.getExternalStorageDirectory() + "/" +
Environment.DIRECTORY_DOWNLOADS + "/" +
fileName);
OutputStream out = new FileOutputStream(file);
byte buf[] = new byte[1024];
int len;
while ((len = result.read(buf)) > 0) {
out.write(buf, 0, len);
}
out.close();
is.close();
} catch (Exception e) {
e.printStackTrace();
}
super.onPostExecute(result);
}
}.execute();


更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. Android(安卓)ScrollView嵌套ScrollView
  2. Android(安卓)1.5 1.6 2.0 2.1 2.2都有什
  3. 2011.09.07(4)——— android 跨进程通信之
  4. 【API Guides视频系列】第1篇Application
  5. Android发送短信
  6. Android(安卓)Bitmap Drawable byte[] In
  7. android:installLocation简析
  8. Android(安卓)Error: Conversion to Dalv
  9. Android仿iPhone 滚轮控件 实现
  10. android 8.1 开机壁纸下半部分黑屏2-3秒