ASP.NET弹出下载提示框

博主做PDF报告下载链接时,发现安装相关软件或插件后点击链接会直接在网页打开文件,并非期望结果。介绍了通过IIS设置实现弹出下载提示框的方法,还提及可用JS或FileStream方式实现,以PDF文件为例,其他类型可参考MIME类型大全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做了个pdf报告下载的链接,因为用的是链接文件的地址,所以,在没有安装pdf reader或者pdf插件的环境下会弹出下载提示框提示下载,

但在已经安装reader或者插件的环境下,点击链接地址后直接在网页中打开了pdf文件,这不是我期望的结果;

实现弹出框提示下载有很多种方法,我现在说的通过IIS设置的方法去实现:

注:网上有很多误导的设置方法:如图:

2011061010481961.jpg

2011061010491735.jpg

这样设置后会将页面上所有链接变成弹出下载提示,甚至在地址栏输入URL后就提示下载当前页面,

这样的解决方案是不是有点无语。。。

OK,那我讲下我的设置,已经测试通过,

同样是上面那幅图,点击属性找到HTTP头下的文件类型/MIME Types,点击新类型,在里面输入如下信息:

关键扩展名:.pdf

内容类型:application/pdf

我这里只是拿PDF文件举例,其他的类型参考这里MIME类型大全;

如果想用JS,可以考虑这样去实现:


  
< script language = " JavaScript " >
function savepic(){
if (document.all.a1 == null ){
objIframe
= document.createElement( " IFRAME " );
document.body.insertBefore(objIframe);
objIframe.outerHTML
= " <iframe name=a1 style='width:0;hieght:0' src= " + pic1.href + " ></iframe> " ;
re
= setTimeout( " savepic() " , 1 );
}
else {
clearTimeout(re);
pic
= window.open(pic1.href, " a1 " );
pic.document.execCommand(
" SaveAs " );
document.all.a1.removeNode(
true );
}
}
< / script>

< a href = " ../images/btn.png " id = " pic1 " onclick = " savepic();return false; " style = " cursor: hand " > 下载 < / a>

还有用FileStream方式实现的,可以参考这篇文章

转载于:https://www.cnblogs.com/pfs1314/archive/2011/06/10/2077494.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值