WebClient 文件下载

//文件地址
            var path = Utils.GetQueryStringValue("path");//带有http
            //下载文件到前台文件夹Music下
            WebClient client = new WebClient();
            string URLAddress = Common.Utils.GetDataCenterImgUrl()+path;
            string receivePath = HttpContext.Current.Server.MapPath("~/music/");
            string filepath = receivePath + System.IO.Path.GetFileName(URLAddress);
            client.DownloadFile(URLAddress, filepath);
            //下载文件
            HttpContext.Current.Response.ContentType = "application/ms-download";
            string s_path = filepath;
            System.IO.FileInfo file = new System.IO.FileInfo(s_path);
            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.AddHeader("Content-Type", "application/octet-stream");
            HttpContext.Current.Response.Charset = "utf-8";
            HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(file.Name, System.Text.Encoding.UTF8));
            HttpContext.Current.Response.AddHeader("Content-Length", file.Length.ToString());
            HttpContext.Current.Response.WriteFile(file.FullName);
            HttpContext.Current.Response.Flush();
            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.End();
时间: 2024-08-08 12:39:14

WebClient 文件下载的相关文章

使用WebClient类对网页下载源码,对文件下载保存及异步下载并报告下载进度

private void button1_Click(object sender, EventArgs e) { WebClient webclient = new WebClient(); webclient.Proxy = null; webclient.Encoding = Encoding.UTF8; richTextBox1.AppendText(webclient.DownloadString(textBox1.Text.Trim())); webclient.Dispose();

C# 文件下载 : WebClient

最近更新了一个下载小工具,主要提升了下面几点: 1. 在一些分公司的局域网中,连接不上外网 2. 服务器上的文件更新后,下载到的还是更新前的文件 3. 没有下载进度提示 4. 不能终止下载 下面和大家分享一些心得. 鉴于各种复杂的网络环境,笔者决定采用不同的编程接口进行下载尝试,以增加程序的可用性. 这里仅介绍使用 WebClient 的方法,后续的文章会介绍其他的方法.博文中主要介绍思路和关键代码,完整的 demo 附在文末. 使用代理访问网络 很多公司的员工都是通过公司设置的代理上网的.通过

Winform文件下载之WebClient

最近升级了公司内部使用的一个下载小工具,主要提升了下面几点: 1. 在一些分公司的局域网中,连接不上外网 2. 服务器上的文件更新后,下载到的还是更新前的文件 3. 没有下载进度提示 4. 不能终止下载 下面和大家分享一些心得. 鉴于各种复杂的网络环境,笔者决定采用不同的编程接口进行下载尝试,以增加程序的可用性. 这里仅介绍使用WebClient的方法.博文中主要介绍思路和关键代码,完整的demo附在文末. 使用代理访问网络 很多公司的员工都是通过公司设置的代理上网的.通过代理上网主要是方便公司

HttpHandler与HttpModule及实现文件下载

HttpHandler:处理请求(Request)的信息和发送响应(Response).HttpModule:通过Http Module向Http请求输出流中写入文字,httpmodule先执行 它们两个的区别:页面处理程序在处理过程中,要经历HttpModule,HttpHandler的处理HttpModule用于页面处理前和处理后的一些事件的处理,HttpHandler进行真正的页面的处理.HttpModule会在页面处理前和后对页面进行处理,所以它不会影响真正的页面请求.通常用在给每个页面

C# 文件下载 : WinINet

在 C# 中,除了 WebClient 我们还可以使用一组 WindowsAPI 来完成下载任务.这就是 Windows Internet,简称 WinINet.本文通过一个 demo 来介绍 WinINet 的基本用法和一些实用技巧. 接口介绍 相比 WebClient 的用法,Win32API 在使用时可能会烦琐一些.所以先把用到的 API 简单介绍一下. 资源的初始化和释放 InternetOpen这是需要调用的第一个方法,它会初始化内部数据结构,为后面的调用做准备. InternetCl

使用C#WebClient类访问(上传/下载/删除/列出文件目录)由IIS搭建的http文件服务器

前言 为什么要写这边博文呢?其实,就是使用C#WebClient类访问由IIS搭建的http文件服务器的问题花了我足足两天的时间,因此,有必要写下自己所学到的,同时,也能让广大的博友学习学习一下. 本文足如有不足之处,请在下方留言提出,我会进行改正的,谢谢! 搭建IIS文件服务器 本博文使用的操作系统为Windows 10 企业版,其他Windows系统类似,请借鉴: 一.当然,开始肯定没有IIS,那该怎么办?需要一个软件环境进行搭建,具体方法如下: 1)打开“控制面板”,找到“程序与功能”,如

WebClient类

WebClient类提供向 URI 标识的资源发送数据和从 URI 标识的资源接收数据的公共方法. 其实就相当于创建一个请求客户端.可以获取网页和各种各样的信息,包括交互. 通过MSDN来看看WebClient类提供的功能. 一.属性 1.BaseAddress 获取或设置 WebClient 发出请求的基 URI. 2.CachePolicy 对于此 WebClient 实例使用 WebRequest 对象获得的任何资源,获取或设置应用程序的缓存策略. 3.CanRaiseEvents 获取一

C# 获取文件下载的各种方法

public class RemoteDownload { public static void DownLoad(string addressUrl,string localName) { //下载文件 System.NET.WebClient myWebClient = new System.Net.WebClient(); myWebClient.DownloadFile(@"/10.2.0.254/software/01279.lic.txt", "testdownl

webclient下载文件 带进度条

private void button1_Click(object sender, EventArgs e) { doDownload(textBox1.Text.Trim()); } private DateTime StartTime; private void doDownload(string url,string fileName="") { label1.Text = "正在下载:" + url;//label框提示下载文件 if (fileName.L