android 通过httpclient下载文件并保存

代码:(主要针对图片、gif下载无问题)

/**
     * 下载网络文件
     * @param url  请求的文件链接
     * @param IsMD5Name  是否MD5加密URL来命名文件名
     * @param cachePath 保存的路径
     * @return 返回文件的位置path
     */
    public static String getDownloadFile2Cache(String url,boolean IsMD5Name,String cachePath)
    {
        String filePath = null;
        try {
            HttpGet httpRequest = new HttpGet(url);
            HttpClient httpclient = new DefaultHttpClient();
            HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);
            HttpEntity entity = response.getEntity();
            BufferedHttpEntity bufferedHttpEntity = new BufferedHttpEntity(entity);
            InputStream is = bufferedHttpEntity.getContent();
            String fileName = null;
            if(IsMD5Name) //是否以MD5命名下载的文件
            {
                fileName = MD5Util.To32MD5(url)+url.substring(url.lastIndexOf(‘.‘));
            }
            else
            {
                fileName = url.substring(url.lastIndexOf(‘/‘)+1);
            }
            FileOutputStream fos = new FileOutputStream(cachePath+"/"+fileName);
            byte buf[] = new byte[1024];
            int numread;
            while ((numread = is.read(buf)) != -1) {
                fos.write(buf, 0, numread);
                }
            fos.close();
            is.close();
            filePath = cachePath+"/"+fileName;
        } catch (IOException e) {
            e.printStackTrace();
        }catch (Exception e) {
            e.printStackTrace();
        }
        return filePath;
    }
时间: 2024-11-06 10:01:59

android 通过httpclient下载文件并保存的相关文章

Android使用HttpClient实现文件上传到PHP服务器,并监控进度条

上传 服务器端PHP 代码如下 : <?php $target_path = "./tmp/";//接收文件目录 $target_path = $target_path.($_FILES['file']['name']); $target_path = iconv("UTF-8","gb2312", $target_path); if(move_uploaded_file($_FILES['file']['tmp_name'], $targ

Android使用HttpClient下载图片

在前一章中讲的是Android使用HttpURLConnection下载图片,这一章使用HttpClient下载图片 HttpURLConnection与HttpClient的区别: HttpClient是个很不错的开源框架(org.appache.http),封装了访问http的请求头,参数,内容体,响应等等,使用起来更方面更强大. HttpURLConnection是java的标准类,可以实现简单的基于URL请求.响应功能,什么都没封装,用起来太原始,比如重访问的自定义,以及一些高级功能等.

Android 通过SOCKET下载文件的方法

本文实例讲述了Android通过SOCKET下载文件的方法.分享给大家供大家参考,具体如下: 服务端代码 import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.

Android开发之下载文件

Android开发中,文件下载时必须的,在此总结一下. Android文件下载需要的准备工作:1.联网和读写SD卡的权限设置:2.HttpURLConnection的使用知识:3.流式操作读写文件的知识. 以下是我自己写的示例代码,用以理解Android文件下载. 1.AndroidMainfest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="ht

实现在 .net 中使用 HttpClient 下载文件时显示进度

原文:实现在 .net 中使用 HttpClient 下载文件时显示进度 在 .net framework 中,要实现下载文件并显示进度的话,最简单的做法是使用 WebClient 类.订阅 DownloadProgressChanged 事件就行了. 但是很可惜,WebClient 并不包含在 .net standard 当中.在 .net standard 中,要进行 http 网络请求,我们用得更多的是 HttpClient.另外还要注意的是,UWP 中也有一个 HttpClient,虽然

android中使用Http下载文件并保存到本地SD卡

---恢复内容开始--- 1.AndroidMainfest.xml中设置权限 1 <uses-permission android:name="android.permission.INTERNET"></uses-permission> 2 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission

Android利用Http下载文件

一.场景 下载存文本文件和下载如mp3等大容量的文件 界面 二.代码编写 1.AndroidMainfest.xml中配置 主要是解决网络权限和写SDCard的权限 Java代码   <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="li

Android采用HttpClient下载图片

在上一章中谈到Android采用HttpURLConnection下载图片,本章使用HttpClient下载图片 HttpURLConnection与HttpClient的差别: HttpClient是个非常不错的开源框架(org.appache.http),封装了訪问http的请求头,參数,内容体.响应等等,使用起来更方面更强大. HttpURLConnection是java的标准类,能够实现简单的基于URL请求.响应功能,什么都没封装.用起来太原始.比方重訪问的自己定义,以及一些高级功能等.

Android OkHttp + Retrofit 下载文件与进度监听

本文链接 下载文件是一个比较常见的需求.给定一个url,我们可以使用URLConnection下载文件. 使用OkHttp也可以通过流来下载文件. 给OkHttp中添加拦截器,即可实现下载进度的监听功能. 使用流来实现下载文件 代码可以参考:https://github.com/RustFisher/android-Basic4/tree/master/appdowloadsample 获取并使用字节流,需要注意两个要点,一个是服务接口方法的 @Streaming 注解,另一个是获取到Respo