下载文件最常用的有两种:
第一种:直接使用A标签,对应着文件的地址。
第二种:将文件写成流,然后在回传给客户端。
第一种,使用起来方便,但是有个坏处,如果你的文件是可编辑的文件(比如Excel word 而不是pdf的话),用户可以在IE浏览器中,可以在线打开并且进行修改。
第二种:写的时候,有跟问题点需要注意一下。现在写ASP.NET网页的时候,大多都喜欢用js+ajax来访问后台,使用这个的时候,就有一定的问题。如果请求是通过一般处理程序来做的,那么一般处理程序,自己有response.end(),你在下载文件的时候,也会需要response.end()。这个时候,就会出现问题。所有,还是直接新建一个codebehind的.CS文件,在page_load方法里去写下载文件的方法。当用户点击下载按钮的时候,直接指向这个页面,打开页面之后,文件就会下载。等下载结束之后页面也会自动关闭。