Response.WriteFile方法可以将指定的文件直接写入HTTP内容输出流中显示。

示例是将文件直接输出到客户端,html主体代码

<body>
<p>
选择输出文件:</p>
<form id="form1" runat="server">
<p>
<asp:DropDownList ID="DropDownList1" runat="server" Height="16px" Width="303px">
</asp:DropDownList>
<asp:Button ID="Button1" runat="server" Text="输出文件" />
</p>
<div>

</div>
</form>
</body>

c#后台代码:

代码

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
using System.Text;

namespace response
{
public partial class _Default : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList DropDownList;
protected System.Web.UI.WebControls.Button Button;

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{//首次加载时获取站点下的files目录下的文件及其路径
string[] files=Directory.GetFiles(Server.MapPath("./files/"));// 创建本地路径,以映射到服务器的物理路径
for (int i = 0; i < files.Length; i++)
{//通过循环把服务器的内容添加到DropDownList1
DropDownList1.Items.Add(files[i]);//用add方法将这些文件添加到控件 DropDownList1中
}
}
}
#region web 窗口设计器生成的代码
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}

private void InitializeComponent()
{
this.Button1.Click+=new EventHandler(this.Button1_Click);
this.Load += new EventHandler(this.Page_Load);
}

#endregion
private void Button1_Click(object sender, System.EventArgs e)
{//单击按钮式触发的事件
string filename = DropDownList1.SelectedItem.Text;//获取用户选择的文件输出名称
FileInfo file = new FileInfo(filename);//创建一个文件对象
Response.Clear();//清除所有缓存区的内容
Response.Charset = "GB2312";//定义输出字符集
Response.ContentEncoding = Encoding.Default;//输出内容的编码为默认编码
Response.AddHeader("Content-Disposition","attachment;filename="+file.Name);//添加头信息。为“文件下载/另存为”指定默认文件名称
Response.AddHeader("Content-Length",file.Length.ToString());//添加头文件,指定文件的大小,让浏览器显示文件下载的速度
Response.WriteFile(file.FullName);// 把文件流发送到客户端
Response.End();//将当前所有缓冲区的输出内容发送到客户端,并停止页面的执行
}

}

}

效果 图

转载于:https://www.cnblogs.com/shenzhoulong/archive/2010/05/07/1729419.html

c# response输出文件实例(14)相关推荐

  1. Response 输出文件流过程中的等待效果

    大家在写程序过程中应该会遇到这样的问题,就是我们需要导出excel,当我们往excel写数据的时候,如果数据量较大的话,这个过程可能需要花些时间. 这个时候我们不能说让用户点完导出按钮后就在那边傻等, ...

  2. response输出文件的时候,解决迅雷下载的问题

    //原来是直接Response.WriteFile文件路径:                 Response.Clear();                 Response.Buffer = t ...

  3. C++读取和写入CSV文件,实现判断文件格式,并且特定的排序输出的实例

    功能: 读取.解析csv文件的内容,再打印出每一个联系人的数据: 能够根据客户输入的属性KEY,来实现以KEY为依据来排序,并将排序结果打印出来: 能够对错误格式的文件进行检测: 数据流: 首先引用# ...

  4. php 标准输出到文件格式,php格式输出文件var_export函数实例

    本文实例讲述了php格式输出文件var_export函数的用法.分享给大家供大家参考.具体如下: var_export:php 4 >= 4.2.0, php 5 var_export -- 输 ...

  5. php 输出可以设置格式文件,php格式输出文件var_export函数实例

    本文实例讲述了php格式输出文件var_export函数的用法.分享给大家供大家参考.具体如下: var_export:php 4 >= 4.2.0, php 5 var_export -- 输 ...

  6. linux命令怎么查看文件时间排序,linux中ls命令按照文件大小排...-ls命令按大小与时间排序文件...-ls按时间排序输出文件列表的实例分析_169IT.COM...

    ls命令可以按照文件大小进行输出排序. 代码示例: man ls -S sort  by file size 用法: ls -Sl 这是按照由大到小排序,如果想要反过来,从小到大,那么用: ls -S ...

  7. HttpRequest获取文件流,HttpResponse输出文件流

    HttpResponse输出文件: Response.Clear(); Response.ContentType = "application/octet-stream"; //通 ...

  8. java上传和下载文件代码_JavaWeb中上传和下载文件实例代码

    一丶先引入上传下载的lib 二丶上传的的servlet package com.test.action; import java.io.file; import java.io.fileoutputs ...

  9. thinkphp实现当前页面点击下载文件实例

    代码实例 php控制器中代码 public function downFile($path = ''){if(!$path) header("Location: /");downl ...

最新文章

  1. cmake教程(为什么要用cmake?)(cmake编译opencv)(就是个跨平台的编译工具Linux、windows)(很重要,必须得学)(报错解决方案)opencv编译
  2. 垂直梯形校正画质损失多少_投影仪梯形校正会影响画质吗?投影仪梯形校正调不正怎么办?...
  3. ATPCS和AAPCS
  4. mac 用户 文件夹 权限_这可能是 Mac 共享文件最详细的教程了
  5. DRBD 高可用配置详解(转)
  6. 身体对腐朽灵魂的一次震撼:向京的雕塑与观众的行为
  7. Spring Boot @Conditional 注解
  8. VMware linux 虚拟机(ubuntu18.04) 安装TL-WDN5200H 2.0网卡驱动 完美使用(适用于vmware无法桥接网络使用此方法)
  9. python入门第八章 商品数量检测 头像格式检测
  10. 深度学习白话_如何提高论文的深度?
  11. Android已有的原生Camera框架中加入自己的API的实现方案。
  12. 飞凌小课堂-RK3399开发板 linux双千兆网口方案-RTL8153
  13. 用计算机处理表格信息教案,表格信息的加工与表达教案
  14. cad直线和圆弧倒角不相切_cad中绘制圆角倒角有哪些技巧?
  15. 【RabbitMQ】java.lang.NoClassDefFoundError: org/springframework/util/backoff/BackOff
  16. matlab矩阵转入tecplot,[转载]tecplot编辑自己想要的变量
  17. 基于matlab的混合波束成形仿真
  18. 软件著作权申请——使用了MIT-licence开源框架
  19. sqlplus连接数据库的几种方法
  20. 单片机c语言 软件抗干扰,单片机软件抗干扰的几种常见方法

热门文章

  1. WCF分发简述-ChannelDispatcher,EndpointDispatcher,MessageFilter
  2. stm32断言的使用
  3. Asp.net面试题之一
  4. 7.16 T1 礼物
  5. 《软件过程改进》练习题
  6. JavaScript label语句
  7. GDOI2017第二轮模拟day1 总结
  8. 深度学习解决多视图非线性数据特征融合问题
  9. 160613、MyBatis insert操作返回主键
  10. Android 隐藏Home键、返回键