点击下载按钮下载文件到本地 download stream to local

 protected void Down_Load(object sender, EventArgs e)
 {
        //create a stream for the file
        Stream stream = null;
        //this controls how many bytes to read at a time and send to the client
        int bytesToRead = 10000;
        //buffer to read bytes in chunk size specified above
        byte[] buffer = new byte[bytesToRead];
        string url = "http://stv1.222.net/mv/dkp10608.mp4";
        string fileName = "11.mp4";
        try
        {
            //create a webrequest to get the file
            HttpWebRequest fileReq = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse fileResp = (HttpWebResponse)fileReq.GetResponse();
            if (fileReq.ContentLength > 0)
                fileResp.ContentLength = fileReq.ContentLength;
            stream = fileResp.GetResponseStream();
            var resp = HttpContext.Current.Response;
            resp.ContentType = "application/octet-stream";
            //indicate the type of data being sent
            resp.AddHeader("Content-Disposition", "attachment;filename=\"" + fileName + "\"");
            resp.AddHeader("Content-Length", fileResp.ContentLength.ToString());

            int length;
            do
            {
                //verify that client is connected
                if (resp.IsClientConnected)
                {
                    //read data into the buffer
                    length = stream.Read(buffer, 0, bytesToRead);
                    //and write it out to the response‘s output stream
                    resp.OutputStream.Write(buffer, 0, length);
                    //flush the data
                    resp.Flush();
                    //clear the data
                    buffer = new byte[bytesToRead];
                }
                else
                {
                    //cancel the download if client has disconnected
                    length = -1;
                }
            } while (length > 0); //repeat until no data is read
        }
        catch (Exception)
        {
            throw;
        }
        finally
        {
            if (stream != null)
            {
                //close the input stream
                stream.Close();
            }
        }
}

  

时间: 2024-10-14 20:56:07

点击下载按钮下载文件到本地 download stream to local的相关文章

[PHP学习教程]004.下载/采集远程文件到本地(Download File)

引言:如何把http://mzitu.com里的图片全部下载下来呢? 一身浩然正气的AC陷入的深思.... 当然这里涉及到的功能有线程,网页请求,页面提取,下载图片等等.今天,我们先讲一下如何下载文件.后面的教程请参看本博客的[PHP自动化-进阶]系列. 函数接口: array download_file ( [string url], [string fileName], [string dirName], [array fileType], [string type]) 方法声明: 下载任何

大开测试:性能- 如何下载并保存文件到本地(连载18)

7.18  如何下载并保存文件到本地 1.问题提出 如何下载并保存文件到本地? 2.问题解答 一个人事管理系统项目一般都要实现能够上传和下载电子文件(如学位照.身份证.护照或者其他Word.Excel.Pdf等格式的电子文件),测试时为了模拟下载的场景,需要编写相关脚本.在HTTP中,没有任何一个方法或是动作能够标识“下载文件”这个动作,对HTTP来说,无论是下载文件或者请求页面,都只是发出一个GET请求,LoadRunner记录了客户端发出的对文件的请求,并能够收到文件内容.因此,完全可以通过

linux下分卷压缩,从Linux下载大于4G文件到本地,并且在本地合并

背景:由于从linux上下载文件时如果大于4G,使用sz命令无法下载,所以需要将文件分卷压缩. 步骤: 1.将大文件压缩成1G的文件:cat mydata.zip | split -b 1G - mydata_20200302.zip. 其中mydata.zip为大文件名称,mydata_20200302.zip.为是拆分后文件的前缀,默认分拆后文件名称为mydata_20200302.zip.aa,ab,ac....类推 2.下载每个2G的压缩文件到本地:sz mydata_20200302.

Linux命令行上传本地文件到服务器 、 下载服务器文件到本地

sh使用命令: scp 将本地文件上传至服务器 第一个是本地文件的路径/文件名, 例如 ./index.tar.gz  . index.html . bg.png 等 第二个是要上传到的服务器的位置  例如  root@39.106.144.90:/var/www scp path/filename userName@sseverName:path 如果是要下载服务器的文件到本地 则调换两个位置就可以 scp userName@sseverName:path path/filename 如果操作

从Linux服务器下载文件到本地

通过安装xshell,连接服务器,通过以下命令可以方便的将服务器的文件下载到本地 #下载一个文件 sz filename #下载多个文件 sz filename1 filename2 #下载dir目录下的所有文件,不包含dir下的文件夹 sz dir/*

本地上传文件到服务器,从服务器下载文件到本地

最近在做项目的时候涉及到了文件的上传.下载,以前学习IO时也没有搞得多清楚,在网上找了些上传下载的例子,然后修改了部分.经测试,上传下载文件暂时能用,下面是上传和下载的方法: 1.本地上传文件到服务器 html代码: <form id="uploadDatumInfo" name="uploadDatumInfo" method="post" enctype="multipart/form-data" target=&q

ios开发-UI基础-应用管理(单纯界面)改进5-使用代理实现监听下载按钮的点击(delegate)

[注意]转载时请注明出处博客园-吃唐僧肉的小悟空http://www.cnblogs.com/hukezhu/ 前几篇文章介绍了一个应用管理的小应用,从最开始的单纯实现功能,一步一步就行改进\封装,上篇文章是使用xib进行了优化,本篇文章使用代理实现监听下载按钮的点击. 在原来的基础上,使用代理的主要思路分析: 首先要新建一个协议 声明协议的要实现的方法(一般为optional) 声明一个遵守该协议的代理的属性 使用代理,通知其代理完成操作 在代理中的实现步骤: 遵守协议 设置代理(一般通过拖线

PHP CURL实现远程下载文件到本地

<?php //$result=httpcopy('http://www.phpernote.com/image/logo.gif'); echo '<pre>';print_r($result); function httpcopy($url,$file='',$timeout=60){ $file=empty($file)?pathinfo($url,PATHINFO_BASENAME):$file; $dir=pathinfo($file,PATHINFO_DIRNAME); !i

爪哇国新游记之二十八----从url指定的地址下载一个文件到本地

package download; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.net.URLConnection; import java.util.zip.GZIPInputStream; /** * 从url指定的地址下载一个文件到本地 * 2014