我现在接触到的下载有两种形式:
直接下载服务器某个目录下的文件和下载数据库中存的二进制文件
代码如下:
//获取文件对象
FileInfo file = new FileInfo(Server.MapPath("~/123123213213.txt"));
//附件形式
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("好啊.txt", System.Text.Encoding.UTF8));
Response.WriteFile(file.FullName);
//模拟数据库取出的二进制流形式
Response.Clear();
byte[] b = new byte[file.Length];
FileStream fs = new FileStream(Server.MapPath("~/123123213213.txt"), FileMode.Open);
fs.Read(b, 0, (int)file.Length);//这里强转,存时要限制流大小
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("好啊.txt", System.Text.Encoding.UTF8));
Response.BinaryWrite(b);
Response.Flush();
Response.End();
有几点需要说明:
1.Content-Disposition是一种扩展的html协议,我的理解是正好可以来处理下载功能
他的值有两种:attachment表示以附件形式下载,inline表示就在网页上来显示
2.filename后面可以自己跟据需要来定文件名与文件扩展名
3.如果文件名内有中文字,一定要编码,不然会有乱码的
4.Response.End()是一定需要的,不然下载后的文件会莫明增大一点点,我在试的过程中,如果是word文件还好,是excel文件会提示文件损坏,需要修复。虽然一般都能修好,但还是不要这样的好!
一面是一个比较好的网址,说的比我详细:
http://www.cnblogs.com/fredlau/archive/2008/10/14/1311018.html
分享到:
相关推荐
"ASP.NET 验证码实现详解" ASP.NET 验证码实现是 ASP.NET 编程中的一种常见技术,用于生成验证码图片,以防止恶意攻击和自动注册。下面将详细介绍 ASP.NET 验证码实现的知识点: 一、验证码生成 在 ASP.NET 中,...
ASP.NET 调用打印功能实现方法 在 ASP.NET 中调用打印功能是一个常见的需求,特别是在报表生成和文档打印等场景中。下面我们将详细介绍如何在 ASP.NET 中实现打印功能。 标题解释 标题 "实现在 asp.net 中调用打印...
ASP.NET实现的论坛BBS系统是一个基于微软的ASP.NET技术构建的在线讨论平台,它提供了丰富的功能,使得用户能够方便地发表、回复和管理帖子。ASP.NET是.NET框架的一部分,专为构建动态Web应用程序而设计,它具有高效...
总的来说,这个ASP.NET实现的上传下载案例展示了如何利用ASP.NET的核心组件来处理文件的上传和下载操作,同时也涵盖了用户界面设计和一些安全策略。通过深入学习和实践这个案例,你可以更好地理解ASP.NET在处理Web...
在这个“ASP.NET实现九九乘法表”的项目中,我们将会探讨如何利用ASP.NET的技术来生成一个网页,显示传统的数学九九乘法表。这对于ASP.NET初学者来说,是一个很好的实践案例,有助于理解服务器端编程的基本概念和...
在这个案例中,"asp.net实现的简单留言板"是一个利用ASP.NET技术和SQL Server 2000数据库来构建的基本交互式功能,允许用户在网站上留言并查看其他用户的留言。 1. ASP.NET基础:ASP.NET提供了丰富的控件和类库,...
- **商品分类管理**:使用数据库存储商品信息,通过Asp.net实现分类检索、添加、编辑和删除商品功能。 - **用户管理**:包括用户注册、登录、密码重置、个人信息管理等,确保用户数据安全。 - **购物车**:用户...
基于ASP.NET MVC实现的在线考试系统项目源码.zip 代码完整下载可用。 基于ASP.NET MVC实现的在线考试系统项目源码.zip 代码完整下载可用。基于ASP.NET MVC实现的在线考试系统项目源码.zip 代码完整下载可用。基于...
ASP.NET是微软开发的一种用于构建Web应用程序的框架,它提供了丰富的功能和强大的性能。Quartz.NET则是一个开源的作业调度库,适用于.NET平台,能够帮助开发者在.NET应用中实现复杂的时间驱动任务。结合使用Quartz...
【ASP.NET技术基础】 ASP.NET是由微软开发的一种服务器端Web应用程序框架,用于构建动态网站、Web应用程序和服务。它建立在.NET Framework之上,提供了一种高效、高性能的方式来开发和部署网络应用。ASP.NET提供了...
【ASP.Net实现SQL动态绑定Echarts图表Demo完整源码】是一个示例项目,它演示了如何在ASP.Net环境中结合Echarts图表库、C#、SQL和JSON技术来动态展示数据库中的数据。该项目的核心目标是利用后端服务器处理程序获取...
9. **AJAX支持**:ASP.NET 2.0引入了UpdatePanel和ScriptManager等控件,实现了部分页面刷新,提升了用户体验。 学习"ASP.NET第一步(基于C#和ASP.NET 2.0)",你将深入理解如何使用C#编写ASP.NET应用程序,如何...
asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net...
在这个“asp.net实现登陆界面”的项目中,我们将深入探讨如何在MVC框架下实现一个登录界面,包括数据库连接、动态样式和验证码功能。 首先,让我们关注ASP.NET MVC的核心组件。模型(Model)负责处理业务逻辑和数据...
本文将深入探讨如何使用ASP.NET结合Ajax技术实现Excel数据导入时的进度条显示。 首先,我们需要理解ASP.NET的页面生命周期和Ajax的工作原理。ASP.NET是一个服务器端的Web应用程序框架,它负责处理用户的请求、执行...
ASP.NET同学录系统的设计与实现是一项常见的毕业设计项目,它主要展示了如何利用ASP.NET技术构建一个功能完善的在线同学录平台。这个系统旨在提供一个平台,让校友们可以记录、分享和交流他们的信息,同时保持联系。...
在"ASP.NET与Echarts实现前后端数据的交互"这个主题中,核心是利用ASP.NET后端处理数据,并通过Echarts前端展示。具体步骤如下: 1. **后端数据处理**:在ASP.NET中,你可以使用ADO.NET或Entity Framework等库来...
* 依赖关系注入:ASP.NET Core 使用依赖关系注入(Dependency Injection)技术,实现应用程序的模块化和松耦合。 * 中间件:ASP.NET Core 使用中间件(Middleware)技术,实现请求和响应的处理。 * 主机:ASP.NET ...
本篇文章将详细讲解如何利用ASP.NET与Ajax技术实现在Web应用中导出Excel文件。 首先,ASP.NET是Microsoft开发的一个用于构建动态网站、Web应用程序和服务的框架。它基于.NET Framework,提供了丰富的服务器控件、...