使用超链接直接指定要下载的文件

文件下载
-》使用超链接直接指定要下载的文件
能被浏览器解析的文会被显示
不能被浏览器解析的文件会被下载
-》实现:无论文件格式,都不使用浏览器显示,完成下载
指向一般处理程序,文件地址作为参数
修改响应头:ContentType = "application/octet-stream";
设置头信息:AddHeader("Content-Disposition", "attachment; filename=\"文件名\";");
输出文件:context.Response.WriteFile(文件地址);
-》提示:如果中文文件名乱码,可以进行url编码
HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8);
返回一个字符串,作为文件的名字

 

public class Download : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
//提示:如果中文文件名乱码,可以进行url编码
//HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8);
//返回一个字符串,作为文件的名字

string f = context.Request["f"];

context.Response.ContentType = "application/octet-stream";
context.Response.AddHeader("Content-Disposition", "attachment; filename=\""+f+"\";");//%ab%12

context.Response.WriteFile(AppDomain.CurrentDomain.BaseDirectory+f);
}

public bool IsReusable
{
get
{
return false;
}
}
}

转载于:https://www.cnblogs.com/jiangyunfeng/p/11122478.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值