通过一般处理程序实现【文件下载】

服务器代码:
//在下载之前可以做权限验证,积分判断等,如果条件满足了,则提供下载,否则提示用户权限不足或权限不够,不允许下载。
//获取要下载的文件名称
string fileName = context.Request.QueryString["filename"];
//拼接文件路径
string url = "~/files/" + fileName;
//在响应用户前,设置响应报文头,告诉浏览器,如何处理当前的内容,是一个附件,需要下载
//HttpUtility.UrlEncode这句是解决文件名是中文是乱码问题
context.Response.AddHeader("Content-Disposition", string.Format("attachment;filename=\"{0}\"",HttpUtility.UrlEncode( fileName)));

//从磁盘中读取对应的文件,并反应给用户
context.Response.WriteFile(url);
客户端代码://注意这个直接添加文件名即可,路径在一般处理程序就获取到了。
<ul>
<li><a href="DownLoad.ashx?filename=0.gif">0.gif</a></li>
<li><a href="DownLoad.ashx?filename=1.png">1.png</a></li>
<li><a href="DownLoad.ashx?filename=2.cs">2.cs</a></li>
<li> <a href="DownLoad.ashx?filename=3.zip">3.zip</a></li>
<li> <a href="DownLoad.ashx?filename=哈哈.txt">哈哈.txt</a> </li>
</ul>

转载于:https://www.cnblogs.com/shuai7boy/p/5536845.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值