文件管理 · 2022年9月8日

javascript文件流|nodejs fs 读取文件流一次读取多少数据

⑴ js获取文件流问题

js不能用于操作文件,但是可以通过JS调用PHP等程序对文件流进行操作,我这里只涉及前端调用(JQ AJAX,注意要引用JQ类库,并且AJAX必须在服务端才能运行,也就是你必须搭建服务器),至于你文档操作的程序这个得自行搞定了。<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>无标题文档</title><script src="jquery-1.9.1.min.js"></script></head><body><div id="btn">用力点</div><script>$('#btn').click(function(){ $.ajax({ type: "POST", url: "dom.php", //提价处理的PHP,你也可以是其他处理程序 data: "keyword=HelloWorld", //提交的数据 success: function(msg){ alert( "Data Saved: " + msg ); //返回信息 msg 是dom.php renturn 的返回值 } }); })</script></body></html>

⑵ js 关于file文件流的问题,已经困惑已久

<!DOCTYPEHTML><html><head><metacharset="UTF-8"><title>Droid</title><styletype="text/css">ulli{float:left;list-style:none;padding-right:10px;}</style><scripttype="text/javascript"src="jquery-1.8.0.min.js"></script><scripttype="text/javascript">$(function(){varoUll=$("#ul"),FR,source=$(':file');if(!!(FR=$(window).prop('FileReader'))){varfr=newFR();$("#btn").click(function(){varfile=source.prop('files')[0];if(!file){returnfalse;}varaLi=$("<li></li>");varaImg=$("<img/>");oUll.append(aLi);aLi.append(aImg);varimgs=$("img");fr.onloadend=function(e){imgs.eq(imgs.length-1).attr('src',e.target.result);source.val('');};fr.readAsDataURL(file);});}});</script></head><body><inputtype="file"name="file"/><inputid="btn"type="button"value="添加"/><ulid="ul"></ul></body></html>

⑶ js要怎么接收后端传的excel文件流

法1: 无需js,直接用a标签去接你的输出流 <a href="<你的返回流的Action路径>" >下载</a> 方法2:使用js,前提是你使用的是现代浏览器,支持html5特性(主要是新的XMLHTTPRequest对象,Blob) <script type="text/javascript"> function download(filename) { var oReq = new XMLHttpRequest(); oReq.open("GET", "<你的返回流的Action路径>", true); oReq.responseType = "blob"; oReq.onload = function (oEvent) { var content = oReq.response; var elink = document.createElement('a'); elink.download = filename; elink.style.display = 'none'; var blob = new Blob([content]); elink.href = URL.createObjectURL(blob); document.body.appendChild(elink); elink.click(); document.body.removeChild(elink); }; oReq.send(); } </script>

⑷ js读取文件流如何传入后台

首先你要明白XMLHttpRequest 返回的都是啥玩意,一般来说是文本,这个可以设置:responseText 是文本,responseXML是XML你这个直接用简单的文本就行了,接受的内容就是你在后台Response.write的内容你的修改如下:C# 我不熟,语法可能有错,但是思路绝对正确—————————————-JS: url: "CheckName.aspx?userName="+userName //userName就是你要传入的用户名后台:protected void Page_Load(object sender, EventArgs e){ string userName=Request.querystring("userName"); GetUserName(userName)//服务器返回GetUserName中Response.write 的值} 请参考

⑸ nodejs fs 读取文件流一次读取多少数据

node中有个流的概念,stream。代表数据流动方向:向内流(可读流),向外流(可写流)。常用的流形式是文件,和tcp套接字。流是以快为单位发送数据,通过监听‘data’事件,每一次得到一块数据即进行一次操作,当数据结束时,监听end事件,执行后续操作。

可读流可以通过stream.pause();stream.resume()暂停恢复流。其中暂停流在写文件时会停止从该文件中读取数据,如果是TCP套接字则不会读取新的数据包,终止其他终端来的数据包。可写流是要从node向外输出的数据,可以是TCP连接也可以是文件。node不会在io操作上阻塞,写入的缓冲区如果被刷新,会发射drain事件,如果没有被刷新,数据将被存储在进程内存中。

TCP连接是双向的,因此既是可读流也是可写流。以node作为服务器,则HTTP的请求是可读流,响应是可写流。

通常在服务器端读取本地数据是快速的,即可读流是快速的。然而由于网络原因,很多响应即可写流是无法保证的,如果请求太多(在服务器的读写范围内),而响应太慢,会导致服务器的可写流填满。此时需要避免慢客户端(前端响应慢)的情况。

[javascript]view plain

fs=require('fs');

require('http').createServer(function(req,res){

varrs=fs.createReadStream('./1.txt');

rs.on('data',function(data){

if(!res.write(data)){

rs.pause();

}

});

rs.on('drain',function(data){

rs.resume();

});

rs.on('end',function(){

res.end();

})

}).listen(8080,function(){

console.log('正在监听…');

});

也可以使用stream.pipe();pipe接受可写流作为第一个参数,由传输源调用。

[javascript]view plain

fs=require('fs');

require('http').createServer(function(req,res){

varrs=fs.createReadStream('./1.txt');

rs.pipe(res);

}).listen(8080,function(){

console.log('正在监听…');

});

⑹ javascript 可以读取txt文件内容吗

可以的啦!第一步:创建一个可以将文件翻译成文件流的对象。 Var fso=new ActiveXObject(Scripting.FileSystemObject); 第二步:用于创建一个textStream 对象,括号里边有三个属性 1. 文件的绝对路径 2. 文件的常数 只读=1,只写=2 ,追加=8 等权限。(ForReading 、 ForWriting 或 ForAppending 。); 3. 一个布尔值 允许新建则为true 相反为false; 例:Var f=fso.opentextfile(“C:\a.txt”,1,true); 第三步:调用读取方法 1. Read(用于读取文件中指定数量的字符) 2. ReadLine(读取一整行,但不包括换行符) 3. ReadAll(则读取文本文件的整个内容); 判断是否读取到最后一行 while (!f.AtEndOfStream) { f.Readline(); } 第四步: 关闭textStream 对象: 例:f.close(); 例子: <html> <head> <title>new page</title> <script> function GetHeader(src) { //权限只读(只读=1,只写=2 ,追加=8 等权限) var ForReading=1; var fso=new ActiveXObject("Scripting.FileSystemObject"); var f=fso.OpenTextFile(src,ForReading); return(f.ReadAll()); } var arr=GetHeader("d:\\test.txt").split("\r\n"); for(var i=0;i<arr.length;i++){ alert("第"+(i+1)+"行数据为:"+arr[i]); } </script> </head> <body> </body> </html>其实都大同小类滴。做笔记的习惯很好,网上随时都可以翻出来看,还可以交流,或许我可以借鉴一下。

⑺ javascript的文档流是什么意思

Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。文档流是文档中可显示对象在排列时所占用的位置。比如网页的div标签它默认占用的宽度位置是一整行,p标签默认占用宽度也是一整行,因为div标签和p标签是块状对象。 网页中大部分对象默认是占用文档流,也有一些对象是不占文档流的,比如表单中隐藏域。当然我们也可以让占用文档流的元素转换成不占文档流,这就要用到CSS中属性position来控制。 看看CSS 2.0对position的定义:检索对象的定位方式。共有4种取值。 static:默认值,无特殊(静态)定位。对象遵循HTML定位规则 。 absolute:绝对定位。将对象从文档流中拖出,使用left,right,top,bottom等属性相对于其最接近的一个最有定位设置的父对象进行绝对定位。如果不存在这样的父对象,则依据body对象。而其层叠通过z-index属性定义 。当对象定位在浏览器窗口以外,浏览器因此显示滚动条。 fixed:固定定位。对象定位遵从绝对(absolute)方式。但是要遵守一些规范。当对象定位在浏览器窗口以外,浏览器不会因此显示滚动条,而当滚动条滚动时,对象始终固定在原来位置。 relative:相对定位。对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置。当对象定位在浏览器窗口以外,浏览器因此显示滚动条。 inherit:继承值,对象将继承其父对象相应的值。[1]

⑻ 如何用javascript操作本地文件

js被设计为沙箱式语言,理论上讲是不应该去访问本地文件系统的。但是网上有访问本地文回件的操作,是通过答ActiveXObject。但是这种写法绑架了浏览器,跟IE绑死,所以建议你如果可以的话,最好不要存类似心思,而是通过其他后台逻辑传送文件内容。

⑼ javascript可以读写当前计算机本地的文件吗

1. 写入FileSystemObject可以将文件翻译成文件流。第一步:例:Var fso=new ActiveXObject(Scripting.FileSystemObject);创建一个可以将文件翻译成文件流的对象。第二步:用于创建一个textStream 对象括号里边有三个属性1. 文件的绝对路径2. 文件的常数 只读=1,只写=2 ,追加=8 等权限。(ForReading 、ForWriting 或 ForAppending 。);3. 一个布尔值 允许新建则为true 相反为false;例:Var f=fso.createtextfile(“C://a.txt”,2,true);第三步:调用textStream的方法1. Write(不在写入数据末尾添加新换行符)2. WriteLine(要在最后添加一个新换行符)3. WriteBlankLines(增加一个或者多个空行)例:f.writeLine(“wo shi di yi hang”);第四步:关闭textStream 对象:例:f.close();2. 读取第一步:Var fso=new ActiveXObject(Scripting.FileSystemObject);创建一个可以将文件翻译成文件流的对象。第二步:用于创建一个textStream 对象括号里边有三个属性4. 文件的绝对路径5. 文件的常数 只读=1,只写=2 ,追加=8 等权限。(ForReading 、ForWriting 或 ForAppending 。);6. 一个布尔值 允许新建则为true 相反为false;例:Var f=fso.opentextfile(“C://a.txt”,1,true); 第三步:调用读取方法1. Read(用于读取文件中指定数量的字符)2. ReadLine(读取一整行,但不包括换行符)3. ReadAll(则读取文本文件的整个内容);判断是否读取到最后一行while (!f.AtEndOfStream){f.Readline();}第四步:关闭textStream 对象:例:f.close();