c# response输出文件实例(14)-阿里云开发者社区

开发者社区> 科技小先锋> 正文

c# response输出文件实例(14)

简介:
+关注继续查看
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#后台代码:
 
 
ExpandedBlockStart.gif代码

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();//将当前所有缓冲区的输出内容发送到客户端,并停止页面的执行
}

}

}
效果 图2010050709412996.jpg



本文转自shenzhoulong  51CTO博客,原文链接:http://blog.51cto.com/shenzhoulong/311617,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Spring Boot四:配置文件详解properties
一.配置随机数,使用随机数 在application.properties文件添加配置信息 #32位随机数 woniu.secret=${random.value} #随机整数 woniu.number=${random.
1759 0
js判断文件格式及大小
//上传文件大小以及格式验证 function getPhotoSize(obj){ photoExt=obj.
672 0
如何编写 Typescript 声明文件
使用TypeScript已经有了一段时间,这的确是一个好东西,虽说在使用的过程中也发现了一些bug,不过都是些小问题,所以整体体验还是很不错的。 TypeScript之所以叫Type,和它的强类型是分不开的,这也是区别于JavaScript最关键的一点,类型的声明可以直接写在代码中,也可以单独写一个用来表示类型的描述文件*.d.ts。
1044 0
实例:使用纹理对象创建Sprite对象
<p><span style="font-size:14px;">精灵类是Sprite,它的类图如下图所示:</span></p> <p style="text-align: center;"><span style="font-size:14px;"><img src="http://img.blog.csdn.net/20140516181640234" alt=""><br></span
1218 0
实例介绍Cocos2d-x开关菜单
<h3><span style="font-weight: normal;"><span style="font-size:14px;"><span style="color: windowtext;">开关菜单是</span><span style="color: windowtext;">MenuItemToggle</span><span style="color: windowtext
1080 0
如何复制控制文件在ASM实例存储
本文介绍如何在ASM实例的环境下,去复制2个控制文件的过程。 如果在文件系统,相对比较简单了。 ##Make sure db is in the archived mode SQL> archive log listDatabase log mode A...
655 0
6967
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载