asp.net 文件下载(txt,rar,pdf,word,excel,ppt)
2015-08-25 10:26
756 查看
aspx 文件下载说起来一点都不难,但是在做的过程中还是遇到了一些小小的问题,就是因为这些小小的问题,导致解决起来实在是太难了,其中一个就是Response.End();导致下载文件出现线程终止的情况...
正确的下载文件的方法
转载请注明出处:http://www.cnblogs.com/abc1069/
正确的下载文件的方法
//获取对应文件的内容,这里主要取comm.FileURL的文件保存动态路径,也就是20150825/5e7af276b7754363a1e78b496e1d1603文本文档.txt CommNoticeModel comm = CommNoticeBLL.GetInstance().GetCommNoticeModel(int.Parse(Request.QueryString["ID"])); //这里主要组成文件的相对路径,这里得到的就是 ~/FileBox/20150825/5e7af276b7754363a1e78b496e1d1603文本文档.txt string path = CommonUtilModel.GetFileVirtualPath() + comm.FileURL; try { FileInfo fileInfo = new FileInfo(Server.MapPath(path)); Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("Content-Disposition", "attachment;filename=" + fileInfo.Name); Response.AddHeader("Content-Length", fileInfo.Length.ToString()); Response.AddHeader("Content-Transfer-Encoding", "binary"); // 告诉浏览器传递给用用户的是一个非txt,rar等不出现在IEEM上的一个文件,不需要在浏览器页面打开,需要直接下载 Response.ContentType = "application/octet-stream"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312"); Response.WriteFile(fileInfo.FullName); Response.Flush(); Response.End(); } catch (Exception ex) { Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.Write(ex.Message + "<br/>" + path); Response.End(); }
转载请注明出处:http://www.cnblogs.com/abc1069/
相关文章推荐
- ASP.NET MVC中的拦截器
- 总结一下工作中遇到的NPOI以及在ASP.NET MVC中的使用
- asp.net input怎么获取值
- 细说 ASP.NET Cache 及其高级用法
- asp.net mvc ページ ボタン submitの2度押しの二重送信防止
- Asp.Net中的三种分页方式
- Asp.Net中的三种分页方式
- Spring 之AOP AspectJ切入点语法详解(最全了,不需要再去其他地找了)
- mocha-casperjs 环境搭建
- 让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求
- Aspose.Words使用教程之在文档中找到并替换文本
- ASP入门(二十二)-连接数据库
- ASP.NET - 分页
- vasp 编译
- JQ Asp.net添加version后,不用刷新,重新加载js
- ASP入门(二十一)- 如何自己获取 ADO 连接字符串
- ASP入门(二十)-INSERT、UPDATE、DELETE语句
- asp.net web api
- raspberry pi 机器人
- ASP.NET基础题(1-10)