最近在做文件的在线预览,发现txt文件没有一个较好的方法去实现,想了想可能是比较简单就直接在后台输出了
txt文件
1.第一次后台直接输出
效果如我所料
后台的一些符合和html符号都没有输出
2.想到用HTML <pre> 标签实现
效果:
不错,基本格式都已经有了,但html仍不是我想要的结果
3.考虑替换想html字符
注:只需要替换一个字符即可,我这里替换<
效果:
恩不错,就是这个效果
源码
1 /// <summary> 2 /// 初始化页面 3 /// </summary> 4 /// <param name="fileUrl">文件路径</param> 5 public void InitPage(string fileUrl) 6 { 7 //获取文件绝对路径 8 string fileUrl_jd = System.Web.HttpContext.Current.Server.MapPath(fileUrl); 9 string outData = ""; 10 if (!File.Exists(fileUrl_jd)) 11 { 12 return; 13 } 14 15 //存在则读取 16 17 StreamReader sr = new StreamReader(fileUrl_jd, System.Text.Encoding.Default); 18 outData = sr.ReadToEnd(); 19 //关闭流 20 sr.Close(); 21 //输出(采用PRE标签来格式化文本,转换原文本中的html字符,只需要转换一个字符即可,这里我们转换<字符,就可以显示原格式和原文本内容) 22 Response.Write(string.Format("<PRE class=‘txt-content‘>{0}</PRE>", outData.Replace("<", "<"))); 23 }
源码
简单实现~
时间: 2024-10-05 09:55:21