当前位置: 首页 > news >正文

官方制作网站360搜索引擎的特点

官方制作网站,360搜索引擎的特点,猎头公司值得去吗,中国500强排行榜目录 需求 文本编码检测 Markdown→HTML 注意 实现 需求 Markdown是一种文本格式;不被浏览器支持;编写一个在服务器端把Markdown转换为HTML的中间件。我们开发的中间件是构建在ASP.NET Core内置的StaticFiles中间件之上,并且在它之前运…

目录

需求

文本编码检测

Markdown→HTML

注意

实现


需求

  1. Markdown是一种文本格式;不被浏览器支持;编写一个在服务器端把Markdown转换为HTML的中间件。
  2. 我们开发的中间件是构建在ASP.NET Core内置的StaticFiles中间件之上,并且在它之前运行,所有的*.md文件都被放到wwwroot文件夹下,当我们请求wwwroot下其他的静态文件的时候,StaticFiles中间件会把它们返回给浏览器,而当我们请求wwwroot下的*.md文件的时候,我们编写的中间件会读取对应的*.md文件并且把它们转换为HTML格式返回给浏览器。

文本编码检测

Nuget:Install-Package UTF.Unknown

DetectionResult result = CharsetDetector.DetectFromStream(stream);
string charset = result.Detected.EncodingName

CharsetDetector/UTF-unknown: Character set detector build in C# - .NET 5+, .NET Core 2+, .NET standard 1+ & .NET 4+https://github.com/CharsetDetector/UTF-unknownhttps://github.com/CharsetDetector/UTF-unknownhttps://github.com/CharsetDetector/UTF-unknownhttps://github.com/CharsetDetector/UTF-unknown

Markdown→HTML

Nuget:Install-Package MarkdownSharp

Markdown markdown = new Markdown();
string html = markdown.Transform(mdText);

注意

app.UseMiddleware<MarkdownMiddleware>();需在app.UseStaticFiles();之前注册,如果先注册了静态文件中间件,那么所有对静态文件的请求都会直接由静态文件中间件处理,而不会经过你的自定义中间件。

app.UseMiddleware<MarkdownMiddleware>();
//配置服务器为静态文件提供服务
app.UseStaticFiles();

实现

public class MarkdownMiddleware
{private readonly RequestDelegate _next;private readonly IWebHostEnvironment hostEnv;public MarkdownMiddleware(RequestDelegate next, IWebHostEnvironment hostEnv){_next = next;this.hostEnv = hostEnv;}public async Task InvokeAsync(HttpContext context){//获取请求路径var path = context.Request.Path.Value;//判断请求路径是否以.md结尾if (!path.EndsWith(".md", true, null)){await _next(context);return;}//判断请求路径是否存在var file = hostEnv.WebRootFileProvider.GetFileInfo(path);if (!file.Exists){await _next(context);return;}//读取文件流using var stream = file.CreateReadStream();//UTF.Unknown检测文件编码,获取检测结果DetectionResult result = CharsetDetector.DetectFromStream(stream);string charset = result.Detected.EncodingName ?? "UTF-8";//流的位置重置stream.Position = 0;//读取文件内容,并指定编码using StreamReader reader = new StreamReader(stream, Encoding.GetEncoding(charset));string mdText = await reader.ReadToEndAsync();//将Markdown转换为HTMLMarkdown markdown = new Markdown();string html = markdown.Transform(mdText);//设置响应头context.Response.ContentType = "text/html;charset=UTF-8";await context.Response.WriteAsync(html);}
}
http://www.hengruixuexiao.com/news/46593.html

相关文章:

  • 南宁美丽南方官方网站建设意见成人技能培训班有哪些
  • 网页设计师证书考试内容杭州seo搜索引擎优化
  • 建设网站会员品牌营销案例分析
  • 做网站 先备案么数字营销服务商seo
  • 扬州网站建设推广专家百度怎么发帖做推广
  • 有网站模板如何预览站长工具网站推广
  • 做试卷的网站宁波优化推广选哪家
  • 广州高端网站建设定制宁德市旅游景点大全
  • 大型网站建设公司 北京小红书怎么推广引流
  • 石家庄最新疫情消息合肥建站公司seo
  • 广州企业网站建设合肥seo整站优化网站
  • 丰台区的建设网站关键词热度分析工具
  • 桂林疫情防控措施青岛seo杭州厂商
  • 嵌入式培训心得体会吉林seo外包
  • 怎样做网站认证网络营销的基本方法
  • 建网站义乌唯尚广告联盟app下载
  • 服务品牌策划方案廊坊seo网站管理
  • 优购物官方网站直播成都网站建设企业
  • 网站正在建设中php百度推广托管公司
  • 北辰网站开发seo推广软件费用
  • 顺德微网站建设河北seo基础
  • 中建招聘2022社会招聘信息优化网站的步骤
  • 阳江网站建设推广公司电话奶茶网络营销策划方案
  • 南昌网站建设赣icp南昌深圳优化公司样高粱seo
  • 陕西企业营销型网站建设论坛如何做seo
  • 做网站可以用微软雅黑字体么百度收录入口在哪里
  • 中国建设银行网站运营模式seo用什么论坛引流
  • 天河区网站建设整站多关键词优化
  • 嘉兴网络公司变更杭州seo靠谱
  • 网页制作分工明细武汉seo搜索引擎优化