ASP.NET弹出下载提示框

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

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

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

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

ASP.NET弹出下载提示框

ASP.NET弹出下载提示框

这样设置后会将页面上所有链接变成弹出下载提示,甚至在地址栏输入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