ASP.NET直接下载文件

原创 2007年09月13日 16:04:00

一. 服务端通过Response输出相应的HTTP Response Headers信息,和要下载的文件的数据来把文件发送到客户端,HTTP Response Headers表现在html文件中是下面的形式:
<meta http-equiv="Content-Type" content="text/htm ">
http-equiv表示是Headers的名称,content表示这个Headers的值

二. 首先,要输出文件的MIME类型:
Page.Response.AddHeader( "Content-Type", “MIME类型” );

三. 其次,要输出下载的文件的打开位置和文件名:
Page.Response.AddHeader("Content-Disposition", "attachment;filename=" + FileName );
content-disposition 的 HTTP response header 允许指定文档表示的信息。使用这种 header ,你就可以将文档指定成单独打开(而不是在浏览器中打开),还可以根据用户的操作来显示。如果用户要保存文档,你还可以为该文档建议一个文件名。这个建议名称会出现在 Save As 对话框的“文件名”栏中。
attachment ―― 表示作为附件发送到客户端,客户端将单独打开此文件。
inline ―― 表示将在浏览器中打开这个文件。
filename ―― 表示发送到客户端文件的文件名。

四. 准备发送到客户端的文件数据:
不管什么类型的文件都要先转成byte类型的数组,然后将这个byte数组用Response.BinaryWrite方法输出到客户端。

   string path ="G://download//down.txt";
   System.IO.FileInfo file = new System.IO.FileInfo(path);
   Response.Clear();
   Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(file.Name));

   Response.AddHeader("Content-Length", file.Length.ToString());
   Response.ContentType = "application/octet-stream";
   Response.WriteFile(file.FullName);
   Response.End();

 

相关文章推荐

asp.net生成csv文件,并在客户端点击下载(文件流直接输出到客户端而不是先生成保存在服务端再下载)

asp.net生成csv文件,并在客户端点击下载(文件流直接输出到客户端而不是先生成保存在服务端再下载)...

ASP.NET如何禁止直接通过Url访问某个类型的文件(非权限),不定时补充

Note:此处不是权限设置问题,此处不是权限设置问题,此处不是权限设置问题!只是出于数据或者网络安全,禁止扫描工具直接扫描到某些包含敏感信息的文件,尤其比如日志、配置等 默认ASP.NET已经考虑到...
  • starfd
  • starfd
  • 2015年12月01日 15:47
  • 5728

Asp.net直接保存文件到客户端

在我们的系统的编写过程中,应该有很多的时候需要客户文件.我第一次的做法(应该也是大部分人的做法吧?)是:slodk.com   1 HttpResponse response = Htt...

asp.net 数据直接输出为下载

 有的时候我们希望动态生成的数据直接输出为文件下载,或用某软件直接打开,客户端显示效果为弹出文件下载对话框,如何做到呢,其实我们可以通过修改Response的参数,然后直接把数据输出,即可。 先看个例...

asp.net 浏览器下载文件的四种方式

其实不是自己想要的,自己希望能够弹一个窗口出来选择保存的路径protected void Button1_Click(object sender, EventArgs e) {protecte...

ASP.NET下载文件的代码

protected void Button1_Click(object sender, EventArgs e) { /* 微软为Response对象提供了一个新的方法TransmitFi...
  • jkpi888
  • jkpi888
  • 2013年12月26日 22:50
  • 669

ASP .net 实现文件上传 下载功能

ASP .net 实现文件上传 下载功能   一、文件上传    1、单文件上传         利用FileUpload控件完成上传功能      代码:               ...
  • T_T_X_S
  • T_T_X_S
  • 2014年04月18日 16:03
  • 983

iOS开发之结合asp.net webservice实现文件上传下载

iOS开发中会经常用到文件上传下载的功能,这篇文件将介绍一下如何结合asp.net webservice实现文件上传下载。 首先,让我们看下文件下载。 这里我们下载cnblogs上的一个zip文件。使...

asp.net通过ftp路径上传和下载文件

/// /// FtpWeb 的摘要说明 /// public class FtpWeb { string ftpServerIP; string ftpRemotePath; ...
  • wybshyy
  • wybshyy
  • 2016年08月02日 16:32
  • 1406

asp.net文件上传下载(转载)

一般来说,文件上传下载对于任何一个网站也是必要的。这里,我在网上参考了下别人的方法,并且自己调试了,详细的写下过程并给出详细的代码。是给自己的一种总结,也是给各位.net新人一个引路吧。其实我也是.n...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET直接下载文件
举报原因:
原因补充:

(最多只允许输入30个字)