ASP.NET 文件下载
来源:互联网 发布:apache测试页面 编辑:程序博客网 时间:2024/05/21 09:55
下载页面:
<a href="download.ashx?url=<%=Server.UrlEncode("说明.txt")%>">下载</a>
------------------------------------------------------------------------------
download.ashx
<%@ WebHandler Language="C#" Class="download" %>using System;using System.Web;public class download : IHttpHandler { public void ProcessRequest (HttpContext context) { string url = HttpContext.Current.Server.UrlDecode(context.Request.QueryString["url"]); downloadfile(url); } public bool IsReusable { get { return false; } } public void downloadfile(string s_fileName) { HttpContext.Current.Response.ContentType = "application/ms-download"; string s_path = HttpContext.Current.Server.MapPath("~/") + s_fileName; 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"; string filename = file.Name; string userAgent = HttpContext.Current.Request.ServerVariables["http_user_agent"].ToLower(); //处理firefox保存时文件名乱码的问题 if (userAgent.IndexOf("firefox") == -1) filename = HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8); HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + filename); 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(); }}
- 下载文件 asp.net
- ASP.NET文件下载
- asp.net 文件下载
- asp.net 下载文件
- Asp.net 下载文件
- asp.net文件下载
- Asp.net 文件下载
- ASP.NET 文件下载
- ASP.NET 下载文件
- asp.net下载文件
- Asp.Net 文件下载
- ASP.NET 文件下载
- ASP.NET下载文件
- ASP.NET下载文件
- asp.net下载文件
- ASP.NET文件下载
- asp.net下载文件
- ASP.NET 文件下载
- 自己常用的vim命令
- 用DLL实现插件的简单演示
- web service 百度百科资料
- 唐骏首现董事会议:金和软件或出战略新招
- 2010年富士通(FUJItsu)华中科技大学笔试试题
- ASP.NET 文件下载
- 今天来了明天换来不?
- Ibatis 关于空值(NULL)的解决方案
- VB.Net程序设计:AutoUpdater软件自动更新
- 浅谈如何提高软件开发质量
- VC数字图像处理编程讲座之一
- 孙思邈的养生十三法
- 微软借Windows Mobile开始反击
- 一道月薪数万的面试题(附讨论分析结果)