DIY:
- protected void btnUpload_Click(object sender, EventArgs e)
- {
- //Stream UploadStream = FileUpload1.PostedFile.InputStream;
- System.IO.Stream UpLoadStream = FileUpload1.PostedFile.InputStream;
- StreamReader sr = new StreamReader(UpLoadStream,System.Text.Encoding.Default);
- string str = sr.ReadToEnd();
- Msg.Text = str;
- }
- }
虽然也能运行成功,但是错误点还是很多的:
1。数据流没有及时关闭
2。没有对上传文件类型进行判断
Correct code:
- protected void btnUpload_Click( object sender, EventArgs e )
- {
- if (FileUpload1.PostedFile.InputStream.Length < 1) ///进行判断
- {
- Msg.Text = "请选择文件。";
- return;
- }
- string FileName = FileUpload1.FileName;
- if (FileName.ToLower().IndexOf(".txt") == -1) ///判断文件类型
- {
- Msg.Text = "请选择文本文件。";
- return;
- }
- int FileLen = FileUpload1.PostedFile.ContentLength;
- byte[] input = new byte[FileLen];
- System.IO.Stream UpLoadStream = FileUpload1.PostedFile.InputStream;
- UpLoadStream.Read(input, 0, FileLen);
- UpLoadStream.Position = 0;
- System.IO.StreamReader sr = new System.IO.StreamReader(UpLoadStream, System.Text.Encoding.Default);
- Msg.Text = "您上传的文件内容是:<br/><br/>" + sr.ReadToEnd();
- sr.Close(); ///数据流及时关闭
- UpLoadStream.Close();
- UpLoadStream = null; ///还原为空值
- sr = null;
- }