如果网站上的一些图片以及word、pdf、txt等浏览器能够解析的文件,当你点击的时候会直接在浏览器中打开。(当然也可以把这些文件下载下来,具体操作就是下面的介绍)
但是如果是视频等内容,浏览器无法进行解析,这个时候就会提示用户进行下载、保存操作。
下面用具体的代码来演示
首先,在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>上面只是演示了文件的下载,关于其他的下载就请大家自己动手尝试了。