之前我的做法是上传文本文件,保存到服务器硬盘,再去读取服务器上的文本文件。
但是只是因为要临时使用一下文本文件中的内容,就保存文件到服务器,会占用服务器磁盘空间,效率也很低。
使用下面的方法可以直接在代码中打开并读取文本文件的内容
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; //判断文件数量是否大于零 if (context.Request.Files.Count > 0) { //这里是上传单个文件,所以取到上传文件数组第一个文件对象 HttpPostedFile file = context.Request.Files[0]; //判断是否为文本文件 string extention = Path.GetExtension(file.FileName); if (extention != ".txt") context.Response.End(); //利用InputStream 属性直接从HttpPostedFile对象读取文本内容 byte[] bytes = new byte[file.ContentLength]; Stream s = file.InputStream; s.Read(bytes, 0, file.ContentLength); //获取文本文件内容 string content = Encoding.Default.GetString(bytes); } }