asp.net 浏览器文件下载
2016-03-18 16:54
309 查看
如果网站上的一些图片以及word、pdf、txt等浏览器能够解析的文件,当你点击的时候会直接在浏览器中打开。(当然也可以把这些文件下载下来,具体操作就是下面的介绍)
但是如果是视频等内容,浏览器无法进行解析,这个时候就会提示用户进行下载、保存操作。
下面用具体的代码来演示
首先,在html页面中添加以下两个标签:
上面的两个文件,test.txt是普通的文本文件,文件2是地图数据文件(浏览器无法解析)。
其次,添加一个一般处理程序来对下载请求进行处理,这个时候最主要的操作时在相应头部添加内容。
最后,我们来对上面的代码进行测试:
![](http://img.blog.csdn.net/20160318163516366?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
点击下载文件1
![](http://img.blog.csdn.net/20160318163732004?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
直接在浏览器中显示出文本内容。
点击下载文件2:
![](http://img.blog.csdn.net/20160318163750573?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
会使用浏览器下载下来该文件。
当然,如果在html页面中直接添加下面两个<a>标签也能实现效果
但是如果是视频等内容,浏览器无法进行解析,这个时候就会提示用户进行下载、保存操作。
下面用具体的代码来演示
首先,在html页面中添加以下两个标签:
<a href="test.txt">下载文件1</a> <a href="Download.ashx">下载文件2</a>
上面的两个文件,test.txt是普通的文本文件,文件2是地图数据文件(浏览器无法解析)。
其次,添加一个一般处理程序来对下载请求进行处理,这个时候最主要的操作时在相应头部添加内容。
//context.Response.ContentType = "text/plain"; //context.Response.Write("Hello World"); string encodeFileName = HttpUtility.UrlEncode("test.000"); context.Response.AddHeader("Content-Disposition", string.Format("attachment;filename=\"{0}\"", encodeFileName)); context.Response.WriteFile("test.000");
最后,我们来对上面的代码进行测试:
点击下载文件1
直接在浏览器中显示出文本内容。
点击下载文件2:
会使用浏览器下载下来该文件。
当然,如果在html页面中直接添加下面两个<a>标签也能实现效果
<a href="test.txt">下载文件1</a> <a href="test.000">下载文件1</a>上面只是演示了文件的下载,关于其他的下载就请大家自己动手尝试了。
相关文章推荐
- ASP.NET Overview
- ASP.NET 4 and Visual Studio 2010
- asp.net 中 autopostback和IsPostBack浅析
- aspx和commonio和struts2的关联
- jre和aspx和c#的关联
- Asp.NET获取文件及其路径
- WebForm(aspx,cs,dll之间的关系)
- ASP.NET TextMode 属性
- ASP.NET MVC - Area的路由映射(使用NampSpace)
- ASP.NET MVC 5 Authentication Filters
- 【.Net码农】Asp.Net 加密解密
- ASP.NET获取微信客户端上传的图片
- ASP.NET WEBAPI实现微信JS-SDK接口注入权限验证配置
- ASP.NET WEBAPI实现微信接入验证
- asp:Button 事件,点击事件 html Button runat="sever"
- android和jak和aspx的关联
- ASP.NET跨页面传值技巧[总结]
- AOP中的@Aspect用法,用于监控程序的执行方法
- asp.net解决高并发的方案.
- 2016-AspNet-MVC教学-3-基于EntityFramework数据模型的控制台测试