js获取文件流问题

js获取文件流问题,第1张

js不能用于 *** 作文件,但是可以通过JS调用PHP等程序对文件流进行 *** 作,我这里只涉及前端调用(JQ AJAX,注意要引用JQ类库,并且AJAX必须在服务端才能运行,也就是你必须搭建服务器),至于你文档 *** 作的程序这个得自行搞定了。

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=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不能读取本地文件,但是可以读取你用别的方式传到页面上的,比如后台或者input标签

后台的我就不说了。通过标签的

var e = document.getElementById('Fileid')//上传文件的id

var ty = e.value//这个就是文件了你可以获取大小,文件名,还可以读取

var reader = new FileReader()

reader.readAsDataURL(file)//这是把它读取成为页面类型的,还有其他类型,你自己需要的可

//readAsBinaryStringfile将文件读取为二进制编码

//readAsTextfile,[encoding]将文件读取为文本

//readAsDataURLfile将文件读取为DataURL

//abort(none)终端读取 *** 作

<script type="text/javascript">

/**

 *CreateFile: 测试在电脑上创建一个文件件,并在文件夹里写进一些数据。

 *

 */

function CreateFile()

{

   var fso, tf

   fso = new ActiveXObject("Scripting.FileSystemObject")//获取对象

   tf = fso.CreateTextFile("c:\\testfile.txt", true)//创建一个文件夹

   // 写一行,并且带有新行字符。

   tf.WriteLine("Testing 1, 2, 3.") 

   // 向文件写三个新行字符。  

   tf.WriteBlankLines(3) 

   // 写一行。

   tf.Write ("This is a test.")

   tf.Close()//关闭

}

/**

 *Folder的API:

 *任务 方法 

 *创建文件夹。 FileSystemObject.CreateFolder 

 *删除文件夹。 Folder.Delete 或 FileSystemObject.DeleteFolder 

 *移动文件夹。 Folder.Move 或 FileSystemObject.MoveFolder 

 *复制文件夹。 Folder.Copy 或 FileSystemObject.CopyFolder 

 *检索文件夹的名字。 Folder.Name 

 *如果文件夹在驱动器上存在,则找出它。 FileSystemObject.FolderExists 

 *获得现有 Folder 对象的实例。 FileSystemObject.GetFolder 

 *找出文件夹的父文件夹名。 FileSystemObject.GetParentFolderName 

 *找出系统文件夹的路径。 FileSystemObject.GetSpecialFolder 

 */

function ManipFiles()

{

   var fso, f1, f2, s

   fso = new ActiveXObject("Scripting.FileSystemObject")

   f1 = fso.CreateTextFile("c:\\testfile.txt", true) //如果当前文件已经存在的话,则覆盖原有文件

   alert("Writing file <br>")

   // 写一行。

   f1.Write("This is a test.")

   // 关闭文件。

   f1.Close()

   alert("Moving file to c:\\tmp <br>")

   if(!fso.FolderExists("c:\\tmp")) { //如果tmp目录不存在,则创建一个目录

        fso.CreateFolder("c:\\tmp")

   }

   // 获取 C 的根目录(C:\)中的文件的句柄。

   f2 = fso.GetFile("c:\\testfile.txt")

   // 把文件移动到 \tmp 目录。如果这个tmp目录下已经有testfile.txt文件了,则会出错。(如果没有tmp这个文件目录也会出错)

   f2.Move ("c:\\tmp\\testfile.txt")

   alert("Copying file to c:\\temp <br>")

   // 把文件复制到 \temp 目录

   if(!fso.FolderExists("c:\\temp")) {//如果temp目录不存在,则创建一个目录

        fso.CreateFolder("c:\\temp")

   }

   f2.Copy ("c:\\temp\\testfile.txt")

   alert("Deleting files <br>")

   // 获得文件当前位置的句柄。

   f2 = fso.GetFile("c:\\tmp\\testfile.txt")

   f3 = fso.GetFile("c:\\temp\\testfile.txt")

   // 删除文件。

   f2.Delete()

   f3.Delete()

   //删除文件夹

   var fdTmp = fso.GetFolder("c:\\tmp")

   var fdTemp = fso.GetFolder("c:\\temp")

   fdTmp.DeleteFolder()

   fdTemp.DeleteFolder()

   alert("All done!")

}

ManipFiles()

//CreateFile()

</script>

以上是将内容保存在文件中。使用的是系统的文件对象,要求系统开启了以上activeX对象,并且有读写文件的权限。在动态网站中读写文件系统一般不需要使用JS的。asp.net/php/jsp都有相应的文件读写方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11623868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存