asp.net文件下载文件另存为
这是一个困惑已久的问题……
首先,用<a>标签的href打开浏览器能解读的文件(如txt,jpg,pdf等),会自动打开,无法做到弹出另存为的效果。
其次,网上搜索了各种JS解决办法,包括使用<iframe>,有的仅支持IE,有的要用第三方插件,没有简单有效的解决办法。
最后,实在没辙了,只能使用C#代码解决,测试通过各种浏览器,代码如下:
前台服务器控件:
<asp:LinkButton ID="btnDownLoad" runat="server" CssClass="btn" OnClick="btnDownLoad_Click">
后台代码:
protected void btnDownLoad_Click(object sender, EventArgs e) { Response.ContentType = "application/x-zip-compressed"; Response.AddHeader("Content-Disposition", "attachment;filename=xxx.pdf"); string filename = Server.MapPath("/download/xxx.pdf"); Response.TransmitFile(filename); }
如果有大侠有能力用JS代码解决实现各浏览器下载文件显示另存为,欢迎留言!