FileContents.aspx.cs
上传用户:tree100901
上传日期:2007-06-03
资源大小:2295k
文件大小:3k
源码类别:

OA系统

开发平台:

C#

  1. using System;
  2. using System.IO;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Data.SqlClient;
  7. using System.Drawing;
  8. using System.Web;
  9. using System.Web.SessionState;
  10. using System.Web.UI;
  11. using System.Web.UI.WebControls;
  12. using System.Web.UI.HtmlControls;
  13. namespace OA
  14. {
  15. /// <summary>
  16. /// FileContents 的摘要说明。
  17. /// </summary>
  18. public class FileContents : System.Web.UI.Page
  19. {
  20. protected System.Data.SqlClient.SqlConnection MyConnection;
  21. private void Page_Load(object sender, System.EventArgs e)
  22. {
  23. MyConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
  24.             string fid="";
  25. string [] fileEntries = Directory.GetFiles(Server.MapPath("filestemp"));
  26. foreach(string fileName0 in fileEntries)
  27. {
  28. File.Delete(fileName0);
  29. }
  30. if(Request.Params["FileID"]!=null)
  31. fid=Request.Params["FileID"].ToString();
  32. else
  33. if(Session["FileID"]!=null)
  34. fid=Session["FileID"].ToString();
  35. SqlCommand MyCommand = new SqlCommand("FileContents",MyConnection);
  36. MyCommand.CommandType = CommandType.StoredProcedure;
  37. MyCommand.Parameters.Add(new SqlParameter("@FileID", SqlDbType.Int, 4));
  38. MyCommand.Parameters["@FileID"].Value = Int32.Parse(fid);
  39.                 MyConnection.Open();
  40.     SqlDataReader myReader =  MyCommand.ExecuteReader();
  41. myReader.Read(); 
  42. Response.ContentType = myReader["ContentType"].ToString();
  43. Response.OutputStream.Write((byte[])myReader["Contents"], 0, Int32.Parse(myReader["ByteSize"].ToString()));
  44.     myReader.Close();
  45.                 MyConnection.Close();
  46.     Response.End();
  47. /* string fileName = Path.GetTempFileName();
  48. int len=fileName.Length-4;
  49. int len1=fileName.Length-9;
  50. fileName=fileName.Remove(len,4);
  51. fileName=fileName.Substring(len1,5);
  52.            string lname;
  53. switch(myReader["ContentType"].ToString())
  54. {
  55. case "application/msword":
  56. lname=".DOC";
  57. break;
  58. case "application/vnd-msexcel":
  59. lname=".xls";
  60. break;
  61. default:
  62. lname=".txt";
  63. break;
  64. }
  65. string newfile="FilesTemp/"+fileName+lname;
  66.             byte[] bytes = (byte[])myReader["Contents"];
  67. FileStream fs = new FileStream(Server.MapPath(newfile), FileMode.Create);
  68. fs.Write((byte[])myReader["Contents"], 0, bytes.Length);
  69.             Response.Redirect("FilesTemp//"+fileName+lname);
  70. */
  71. // 在此处放置用户代码以初始化页面
  72. }
  73. #region Web 窗体设计器生成的代码
  74. override protected void OnInit(EventArgs e)
  75. {
  76. //
  77. // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
  78. //
  79. InitializeComponent();
  80. base.OnInit(e);
  81. }
  82. /// <summary>
  83. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  84. /// 此方法的内容。
  85. /// </summary>
  86. private void InitializeComponent()
  87. {    
  88. this.Load += new System.EventHandler(this.Page_Load);
  89. }
  90. #endregion
  91. }
  92. }