文件下载

 

 

1 #region ===========下载vendor模板按钮点击事件==================
2 /// <summary>
3 /// 下载模板事件
4 /// </summary>
5   protected void VendorDownloadClick(object sender, EventArgs e)
6 {
7 try
8 {
9 string filename = string.Empty;
10 string saveFileName = "VendorUploadTemplate.xlsx";
11 string sNewPath = Server.MapPath("UploadTemplate/VendorUploadTemplate.xlsx");
12 filename = sNewPath;
13 System.IO.FileStream fs = new System.IO.FileStream(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read);
14 byte[] aLogData = new byte[fs.Length];
15 fs.Read(aLogData, 0, (int)fs.Length);
16 fs.Close();
17 Response.ContentType = "application/octet-stream";
18 Response.AppendHeader("Content-Disposition", "attachment; filename=" + saveFileName);
19 Response.BinaryWrite(aLogData);
20 Response.End();
21 }
22 catch
23 {
24 Ext.MessageBox.Alert("Tip", this.GetMessage("MSG00108")).Show();
25 }
26 }
27 #endregion

 

 

前台使用的是coolite控件

1. Server.MapPath的使用方法:(转)

(1)、Server.MapPath("/")
注:获得应用程序根目录所在的位置,如 C:\Inetpub\wwwroot\。
(2)、Server.MapPath("./")
注:获得所在页面的当前目录,等价于Server.MapPath("")。
(3)、Server.MapPath("../")
注:获得所在页面的上级目录。
(4)、Server.MapPath("~/")
注:获得当前应用级程序的目录,如果是根目录,就是根目录,如果是虚拟目录,就是虚拟目录所在的位置,如C:\Inetpub\wwwroot\Example\。

2.FileStream 构造函数 (String, FileMode, FileAccess, FileShare)(http://msdn.microsoft.com/zh-cn/library/5h0z48dh%28VS.90%29.aspx

使用指定的路径、创建模式、读/写权限和共享权限创建 FileStream 类的新实例。

(1)path:类型:System.String,当前 FileStream 对象将封装的文件的相对路径或绝对路径。
(2)mode:类型:System.IO.FileModeFileMode  常数,确定如何打开或创建文件。
(3)access:类型:System.IO.FileAccess FileAccess 常数,它确定 FileStream 对象访问文件的方式。这将获取 FileStream 对象的 CanReadCanWrite 属性。如果 path 指定磁盘文件,则 CanSeektrue
(4)share:类型:System.IO.FileShare FileShare 常数,确定文件如何由进程共享。

3.Response.ContentType:获取或设置输出流的 HTTP MIME 类型。application/octet-stream表示二进制传输

   Response.AppendHeader : 将 HTTP 头添加到输出流。Content-disposition是MIME 协议的一个扩展,attachment--作为附件下载,inline在线打开

(参考:http://www.qihangnet.com/PermaLink,guid,db65d50a-ba90-4229-a3a2-71b4f1b407b9.aspx

Response.BinaryWrite : 不经任何字符转换就将指定的信息写到 HTTP 输出。该方法用于写非字符串信息(如客户端应用程序所需的二进制数据)

 

posted on 2010-08-18 18:27  Cindy Yao  阅读(182)  评论(0编辑  收藏  举报

导航