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

本文介绍了一种简单的TXT文件在线预览方法。通过使用HTML的<pre>标签并进行必要的HTML字符转义,可以有效地展示TXT文件的内容,同时保持原有的格式。这种方法避免了复杂的解析过程,并且能够确保文本正确地显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做文件的在线预览,发现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;
 }

 

转载于:https://www.cnblogs.com/feigao/p/5464591.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值