asp.net在线预览txt文件(简单实现)

最近在做文件的在线预览,发现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("<", "&lt;")));
23         }
源码

简单实现~

小技巧:加上此css后,pre标签中的内容会自动换行,不会出现滚动条

/*使内容自动换行*/
 pre {
    white-space: pre-wrap;
    word-wrap: break-word;
 }

 

posted @ 2016-05-06 10:10  开拓丿飞  阅读(2208)  评论(0编辑  收藏  举报