ASP.NET program TEST[2008.10.30]

DIY:

  1. protected void btnUpload_Click(object sender, EventArgs e)
  2.     {
  3.          //Stream UploadStream = FileUpload1.PostedFile.InputStream;
  4.         
  5.          System.IO.Stream UpLoadStream = FileUpload1.PostedFile.InputStream;
  6.         
  7.          StreamReader sr = new StreamReader(UpLoadStream,System.Text.Encoding.Default);
  8.          string str = sr.ReadToEnd();
  9.          Msg.Text = str;
  10.     }
  11. }

 

虽然也能运行成功,但是错误点还是很多的:

1。数据流没有及时关闭

2。没有对上传文件类型进行判断

 

Correct code:

  1. protected void btnUpload_Click( object sender, EventArgs e )
  2.   {
  3.     if (FileUpload1.PostedFile.InputStream.Length < 1)     ///进行判断
  4.     {
  5.       Msg.Text = "请选择文件。";
  6.       return;
  7.     }
  8.     string FileName = FileUpload1.FileName;
  9.     if (FileName.ToLower().IndexOf(".txt") == -1)      ///判断文件类型
  10.     {
  11.       Msg.Text = "请选择文本文件。";
  12.       return;
  13.     }
  14.     int FileLen = FileUpload1.PostedFile.ContentLength;
  15.     byte[] input = new byte[FileLen];
  16.     System.IO.Stream UpLoadStream = FileUpload1.PostedFile.InputStream;
  17.     UpLoadStream.Read(input, 0, FileLen);
  18.     UpLoadStream.Position = 0;
  19.     System.IO.StreamReader sr = new System.IO.StreamReader(UpLoadStream, System.Text.Encoding.Default);
  20.     Msg.Text = "您上传的文件内容是:<br/><br/>" + sr.ReadToEnd();
  21.     sr.Close();    ///数据流及时关闭
  22.     UpLoadStream.Close();
  23.     UpLoadStream = null;  ///还原为空值
  24.     sr = null;
  25.   }

你可能感兴趣的:(ASP.NET program TEST[2008.10.30])