本文目录一览:
js能做一个选择本地文件夹目录单位东西吗,选好了文件之后返回文件路径来
在Windows平台上, js可以调用很多Windows提供的ActivexObject,本文就使用js来实现文档处理, 和使用js编写ActiveX做一个简单介绍.
复制代码 代码如下:
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""
html
head
title New Document /title
/head
script type="text/javascript"
function readFolder(){
var filePath = "d:\\test\\";
var fso = new ActiveXObject("Scripting.FileSystemObject"); //加载控件
var f = fso.GetFolder(filePath);
var underFiles = new Enumerator(f.files); //文件夹下文件
for (;!underFiles.atEnd();underFiles.moveNext()){
var fn = "" + underFiles.item();
//alert(fn);
var content = readFile(fn,fso);
alert(content);
}
}
function readFile(path,fso){
var f1 = fso.GetFile(path);
var fh = fso.OpenTextFile(f1, 1/*reading*/);
var content = '';
while ( !fh.AtEndOfStream ) {
content += fh.ReadLine();
}
fh.close()
return content;
}
如何用javascript操作本地文件
如果要使用JavaScript操作本地文件,针对于现在的浏览器来说只有IE可以有权限直接操作文件,其他浏览器是不能实现的
下面是操作文件的例子,你试试看:
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();
alert("Ok! Write Over!");
/script
关于js文件的路径问题 在线等
宿主页面文件 简单点就是调用JS的那个页面
你是网站的根目录下建的JS,引用时就用
script language="javascript" type="text/javascript" src="../sample08.js"
/script
如果你那样引用话就要看你的宿主页面的位了,如果是和JS在同一目录下就是正确的,但不在同一目录下就有问题了
JS文件一般也没什么固定的存放文件夹,你可以为了方便放到自建JS文件夹中.再命名来区分不同功能的JS
引用则根据JS在网站的相对位置
"../"是网站根目录. 再找到JS的位置引用
如JS在根目录的JS文件夹中则
script language="javascript" type="text/javascript" src="../JS/*.js"
/script