使用一般处理程序HTTPHandler下载文件

  一般来说我们可以用HTTPHandler来处理一些简单的逻辑,比如验证码、下载文件等。

  以下载word文档为例讲解一下如何在HHTPHandler中下载文件,不限于word文档,如果下载其他文件,需要注意的是要将“

context.Response.ContentType = "application/msword";

”设置为其他相应格式或通用格式“application/octet-stream”,来看代码

 1             //文件名
 2             const string fileName = "申请表.doc";
 3             //获取文件路径
 4             string path = context.Server.MapPath("./App_Data/") + fileName;
 5             //定义输出MIME类型
 6             context.Response.ContentType = "application/msword";
 7             //以文件流方式下载文件
 8             using (FileStream fs = new FileStream(path, FileMode.Open))
 9             {
10                 //建立一个byte[]字节数组,长度为要下载文件的大小
11                 byte[] bytes = new byte[(int)fs.Length];
12                 //将文件流读取到byte[]字节数组中
13                 fs.Read(bytes, 0, bytes.Length);
14                 //通知浏览器下载文件而不是打开
15                 context.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
16                 //将byte[]字节数组写向浏览器
17                 context.Response.BinaryWrite(bytes);
18             }
时间: 11-25

使用一般处理程序HTTPHandler下载文件的相关文章

HTTP 错误 404.3 – Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

今天,在vs2013中新建了一个placard.json文件,当我用jq读取它的时候,去提示404,直接在浏览器访问这个文件,提示: HTTP 错误 404.3 – Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加 MIME 映射. 解决方案:进入IIS

HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

解决问题:由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加 MIME 映射. WindowServer2012服务器,添加角色安装完.netframework和iis之后,运行aspx页面就报如下错误: HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加 MIME 映射. ?可能是缺少处理程序映射.默认情况下,静态文件处理程序将处理所有内容.?您要使用

IIS中预览错误问题的解决办法(HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射 )

控制面板 程序 打开或关闭windows程序 Internet信息服务 万维网服务 应用程序开发功能 勾选.net  扩展性    ASP    ASP.net 按照这个顺序就可以解决该问题. IIS中预览错误问题的解决办法(HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加 MIME 映射 ),布布扣,bubuko.com

解决问题:由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

WindowServer2012服务器,添加角色安装完.netframework和iis之后,运行aspx页面就报如下错误: HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加 MIME 映射. ?可能是缺少处理程序映射.默认情况下,静态文件处理程序将处理所有内容.?您要使用的功能可能尚未安装.?没有为网站或应用程序启用相应的 MIME 映射.(警告: 请不要为用户不应下载的 .ASPX 页或 .c

asp.net一般处理程序下载文件

///程序页面 public class ProcessUpload : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; //1.获取用户上传的文件 if (context.Request.Files.Count > 0) { //获取第一个文件域中上传上来的文件 HttpPostedFile fileData

TTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

解决办法一: 控制面板->打开或关闭windows功能->Internet信息服务->万维网服务->应用程序开发功能. 勾选上“.net扩展性”和“ASP.NET”,保存后,重启IIS服务器即可. 然后 找到Visual Studio 2005 命令提示工具中.然后用管理员身份运行,输入命令 aspnet_regiis -i 如果可以成功显示 ASP.NET <2.0.50727>安装完毕 解决办法二: 在网站下面进行MIME类型的设置就可以就行下载文件啦.

防止通过URL下载文件

网页中向用户提供了ppt文件的下载功能,前提是只有登录的用户才能下载,所以需要禁止通过URL对文件进行下载. 自己定义一个文件下载类. using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.We

在MFC中通过访问IP地址下载文件到本地

void CDownLoad::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代码 CDialogEx::OnOK(); UpdateData(TRUE); CString sPath = m_savePath;//下载文件的保存地址 CString m_theUrl = m_ipPath;//下载的网址 CString filename = sPath + (_T("11.mdb"));//下载文件的保存名 CInternetSession sessi

.apk文件下载出现如果应下载文件,请添加 MIME 映射。

在下载.apk文件时出现错误. HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加 MIME 映射. 原因是iis中没有配置特定的文件类型. 1.win+R,inetmgr打开iis 2.选中要配置的网站,双击Mime类型,添加,上面输入.apk,下面输入 application/vnd.android.package-archive