asp.net中Response.WriteFile()实现文件下载
nbsp; Response.Flush(); Response.End(); } 有以下几点要注意: 1.使用System.Text.Encoding.UTF来支持中文。(否则加上文件名中包含中文名下载的文件名就成了乱码) 2.使用Replace方法来吧"+"替换成" "(空格),"+"是使用HttpUtility.UrlEncode编码后就把空格转换成了"+",然而"+"不能被浏览器理解为空格无法进行解码,所以需要手动的吧"+"换成空格(%20)(因为空格的字符编码在浏览器中识别为"%20).这是一个非常容易忽略的小bug,幸好测试人员及早发现了它,我用Replace方法把它修正了。 页面的效果如下: 当用鼠标右键另存为时候,也会出现如上所示的下载对话框:上传的文件名为XmlSerializer.txt,下载下来的文件名也是XmlSerializer.txt问题解决。 下载文件一般用标签A来实现,链接到一个新的页面,如上的(downfile.aspx页面),如果连接到当前页面通过onclick来触发服务器端的事件实现下载。那样的话只能支持通过鼠标左键单击下载,而不能通过右击另存为下载。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |