Http 下载文件利用(response,request) 并显示进度条

http 下载文件利用(response,request) 并显示进度条
request 和 response 都比较好用

/// <summary>       
        /// http 下载文件    
        /// current thread download
        /// </summary>       
        /// <param name="url">下载文件地址</param>       
        /// <param name="buffer">将下载的文件存入该字节数组</param>       
        /// <param name="prog">用于显示的进度条</param>       
        public void downloadfile(string url, ref byte[] buffer, progressbar prog)
        {
            try
            {
                system.net.httpwebrequest myrq = (system.net.httpwebrequest)system.net.httpwebrequest.create(url);
                system.net.httpwebresponse myrp = (system.net.httpwebresponse)myrq.getresponse();
                long totalbytes = myrp.contentlength;
                if (prog != null)
                {
                    prog.maximum = (int)totalbytes;
                }
                using (memorystream ms = new memorystream((int)totalbytes))
                {
                    stream st = myrp.getresponsestream();
                    long totaldownloadedbyte = 0;
                    byte[] by = new byte[1024];
                    int osize = st.read(by, 0, (int)by.length);
                    while (osize > 0)
                    {
                        totaldownloadedbyte = osize + totaldownloadedbyte;
                        system.windows.forms.application.doevents();
                        ms.write(by, 0, osize);
                        if (prog != null)
                        {
                            prog.value = (int)totaldownloadedbyte;
                        }
                        osize = st.read(by, 0, (int)by.length);
                    }
                    buffer = ms.toarray();
                    st.close();
                }
            }
            catch (exception ex)
            {
                buffer = null;
                console.writeline(ex.message);
            }
        }

时间: 2024-10-22 08:34:01

Http 下载文件利用(response,request) 并显示进度条的相关文章

Android上传文件到服务端并显示进度条

最近在做上传文件的服务,简单看了网上的教程.结合实践共享出代码. 由于网上的大多数没有服务端的代码,这可不行呀,没服务端怎么调试呢. Ok,先上代码. Android 上传比较简单,主要用到的是 HttpURLConnection 类,然后加一个进度条组件. private ProgressBar mPgBar; class UploadTask extends AsyncTask<Object,Integer,Void>{ private DataOutputStream outputStr

基于ajax实现文件上传并显示进度条_javascript技巧

下面给大家分享下基于ajax实现文件上传并显示进度条.在jsp部分,需要设计一个表单,form的属性添加 enctype="multipart/form-data",设计一个iframe,作为隐藏.form的target等于iframe的name; 在servlet部分:文件上传用的Commons-FileupLoad,需要两个Jar,commons-fileupload和commons-io,少了第二个会报出找不到类的异常: 第一个servlet处理上传,及把上传进度保存到sessi

Android使用AsyncTask下载图片并显示进度条功能

在Android中实现异步任务机制有两种方式,Handler和AsyncTask.这篇文章给大家介绍Android使用AsyncTask下载图片并显示进度条功能. AsyncTask下载图片并显示下载进度,异步类AsyncTask配合进度条,简练! public class AsyncTaskActivity2 extends Activity { private Button btnDown;//图片框 private ImageView ivImage;//图片URL private sta

Linux中cp文件或目录时如何显示进度?

Linux中cp文件或目录时如何显示进度? 用法:cp [选项]... [-T] 源文件 目标文件 或:cp [选项]... 源文件... 目录 或:cp [选项]... -t 目录 源文件...将源文件复制至目标文件,或将多个源文件复制至目标目录. 长选项必须使用的参数对于短选项时也是必需使用的.&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; -a, --archive                 等于-d

JS插件plupload.js实现多图上传并显示进度条_javascript技巧

本文实例为大家分享了plupload.js多图上传的具体代码,供大家参考,具体内容如下 HTML代码: <!DOCTYPE html> <head> <meta charset="utf-8" /> <meta name="viewport" content="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">

PHP + plupload.js实现多图上传并显示进度条加删除实例代码

PHP + plupload.js JS插件实现多图上传并显示进度条加删除实例,废话不多说,直接上代码 HTML代码: <!DOCTYPE html> <head> <meta charset="utf-8" /> <meta name="viewport" content="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no&qu

在ASP.NET中显示进度条

asp.net|显示 对于加载时间比较长的ASP.NET页面,我们可以在客户端浏览器中显示进度条来显示页面正在装载.下面就是具体的实现过程: 新建项目,名字为WebPortal,在项目类型中选择Visual C#项目或者Visual Basic项目都可: 在模板类型中选择ASP.NET Web应用程序: 位置里输入:http://localhost/WebPortal: 添加新项:名字为ShowProgress的Web窗体. 在您的Web窗体ShowProgress.aspx上添加任何其他的We

cocoa touch-转码mp3格式时显示进度条。

问题描述 转码mp3格式时显示进度条. 使用 LAME 将.caf音频文件编码为.mp3文件. 只有一个问题,需要计算转换文件的时间,用UIProgressView给用户显示转换进度,这点实现不了. NSArray *dirPaths; NSString *docsDir; dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); docsDir = [dirPaths

页面加载显示进度条

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta h