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.   }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值