快速业务通道

asp.net中Response.WriteFile()实现文件下载

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-04-11
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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号