您现在的位置是:网站首页> 新闻快讯> 软件使用 新闻快讯
html转txt
小玉2023-07-05【软件使用】 166人已围观
简介21位院士呼吁广大医务和传播工作者积极投身到健康传播事业网页链接Nginx的rewrite模块中如果执行了return指令,那么后面的阶段都没有
html转txt
最后更新:2023-07-05 02:35:16
推荐指数:
21位院士呼吁广大医务和传播工作者积极投身到健康传播事业网页链接Nginx的rewrite模块中如果执行了return指令,那么后面的阶段都没有机会执行。那么return指令的语法是怎么样的?主要有3种:returncode[text];returncodeURL;returnURL;return指令与error_page我们经常用看到Nginx配置中有error_page。error_page的意思实际上是当收到某一个返回码的时候,可以重定向为另外一个uri,也可以指定给用户返回不一样的内容。可以出现的范围http,server,location,if常见案例:404页面,找不到该页面的时候,我们想返回给用户一些用户体验较好的页面,比如寻找走失儿童或者保护环境等。rewrite指令语法:rewriteregexreplacement[flag];作用:1.匹配上正则表达式regex的url替换成replacement(新的url),flag是表示行为。2.当replacement以http://或https://或$schema开头,则直接返回302重定向3.替换后的url根据flag指定的方式进行处理flag的选项:--last:用replacement这个新的URI重新在我们的location中进行匹配。--break:break指令停止当前脚本指令的执行--redirect:返回302重定向--permanent:返回301重定向举个栗子html下有3个目录,并放入3个文件。内容分别是test1test2test3。cdhtmlmkdirfirstsecondthirdecho"test1">html/first/1.txtecho"test2">html/second/2.txtecho"test3">html/third/3.txtnginx.conf如下server{server_namerewrite.local.com;rewrite_logon;error_loglogs/rewrite_error.lognotice;roothtml/;location/first{rewrite/first(.*)/second$1last;return200'first!\n';}location/second{rewrite/second(.*)/third$1;return200'second!\n';}location/third{return200'third!\n';}}此时我们请求会返回什么呢?curl/first/3.txt结果是second!原因是因为在匹配到/first的时候被rewrite成了secondflag是last,就到上层去重新匹配了。此时匹配到了第二个location/second,进来又被rewrite了,但是没有last,也没有break。于是继续执行return200'second!\n';在第二个location里都已经return了。第三个location就没有机会执行了。再变化一下将第二个location变成以下location/second{rewrite/second(.*)/third$1last;return200'second!\n';}此时我们请求会返回什么呢?curl/first/3.txt结果是third!匹配到第三个location那么我们再变化一下将第二个location变成以下区别一下break和last的区别location/second{rewrite/second(.*)/third$1break;return200'second!\n';}此时我们请求会返回什么呢?curl/first/3.txt结果是test3这是因为在location/second里被rewrite后,flag为break就不执行下面的return;也不返回重新匹配localtion而是停止了直接请求third/3.txt了。好了,今天就先到这里了,明天我们继续学习http请求处理的第三个阶段find_config。#程序员##读书##Nginx#干货走起~~~如果想在H5下实现下载功能,这个插件不容错过。非常强大而且方便易用,兼容性也比较好。小伙伴们有些类似需求的不妨一试,相信不会错的[灵光一闪][灵光一闪][呲牙][灵光一闪]FileSaver.js是一款基于 HTML5 完成文件保存的javascript库,它可以帮我们直接从网页中导出多种格式文件。当然,如果文件来自服务器,我们建议您首先尝试使用内容处置附件响应头,因为它具有更好的浏览器兼容性。支持如下格式功能:1、保存文本2、保存图片,可以通过urls的方式,也可以通过canvas3、保存文件用法也是比较简单1、首先先引入import{saveAs}from'file-saver';2、调用方法saveAs(blob,"helloworld.txt")其它的用法如下图所示,这里不一一列举了具体的浏览器支持情况如下图一所示,大家根据自己的实际情况进行选择。前端每日干货如何用Node.js读取超大的文件?这个问题,值得思考一下,由于Node.js被分配的内存是有限的。不能太大,比如超过2G就不行了。当你用Node.js去读取一个体积大小超过内存限制的文件时,就会报如下这种内存错误。那有什么办法可以读取成功吗?先从读文件内容的方式说起第一种是使用:fs.readFile()这个方法会将整个文件读入到内存当中,然后在Node读取完成后立即执行操作。第二种是使用:fs.createReadStream()这个方法以数据流的形式处理数据的输入输出,类似于Python或者是Java。通常第二种方式可以更加适合业务一点。它不是一次读到内存中去,而是逐行处理数据。代码可以如下这样写:constreadline=require('readline');conststream=require('stream');constinstream=fs.createReadStream('1.txt');constoutstream=newsteam();constrl=readline.createInterface(instream,outstream);rl.on('line',()=>{})使用第二种方试,读入一个3G左右的文件后,Node服务器依然会因为JavaScriptheapoutofmemory错误而崩溃。下面来第三种解决办法:EventStream新的数据流解决方案,是一个目前很流行的NPM模块,它每周有超过200万的下载量,号称能够“让流的创建和使用更加简单”。没错,使用上也很简单,搜一下就会了。这里不贴代码了。这个包曾经涉及过安全问题。但确实来读取大文件内容而不报错。所以,关于Node.js大文件读取的方式,其实拆分后来读取也是不错的选择。主要还是根据具体问题具体来看。
很赞哦! (0)
下一篇:爱唱久久(爱你久久原唱歌曲)
相关文章
文章评论
验证码: