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;
 }

 

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【核心代码】 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 using Aspose.Cells; using Aspose.Slides.Pptx; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Net; using System.Net.Http; using System.Text; using System.Web.Http; namespace DocOnlineView.UI.Controllers.MVCAPI { public class HomeController : ApiController { [HttpGet] public DataTable CourseViewOnLine(string fileName) { DataTable dtlist = new DataTable(); dtlist.Columns.Add("TempDocHtml", typeof(string)); string fileDire = "/Files"; string sourceDoc = Path.Combine(fileDire, fileName); string saveDoc = ""; string docExtendName = System.IO.Path.GetExtension(sourceDoc).ToLower(); bool result = false; if (docExtendName == ".pdf") { //pdf模板文件 string tempFile = Path.Combine(fileDire, "temppdf.html"); saveDoc = Path.Combine(fileDire, "viewFiles/onlinepdf.html"); result = PdfToHtml( sourceDoc, System.Web.HttpContext.Current.Server.MapPath(tempFile), System.Web.HttpContext.Current.Server.MapPath(saveDoc)); } else { saveDoc = Path.Combine(fileDire, "viewFiles/onlineview.html"); result = OfficeDocumentToHtml( System.Web.HttpContext.Current.Server.MapPath(sourceDoc), System.Web.HttpContext.Current.Server.MapPath(saveDoc)); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值