用JavaScript打开浏览器本地文件,把数据自动填写到表单
javascript 是一种客户端脚本语言。运行在浏览器环境下,而不是在服务器上运行。它能增强客户端的功能,提高客户端的效率。
1995.12.4 。 Netscape 和 SUN 公司合作,推出了 JavaScript1.0 。当时称为 LiveScript. 是一种解释性语言。 JavaScript 被定位在作为 Java 语言的一种补充,
Jscript 是微软公司模仿 JavaScipt 的作品。但又遗漏了一些特性。所以稍微有所不同。但基本上可看作是一种语言。
最近, JavaScript 也被包括在 Microsoft 的 Windows Scripting Host 中,这样程序员就可以编写在操作系统本身执行的脚本。并且提供安全保护措施。在对本地文件操作前都要征求用户允许。
代码实现了用JavaScript打开浏览器本地文件,把数据自动填写到表单:
form1用来打开本地数据文件。一个数据一行
form2是需填写的表单。有多项。text的名字分别从1--N。
function ReadLine()
{
// 从表单 1 里获取文件地址
var url=form1.browser.value;
// 声明一个 FileSystemObject 的实例
var myFileSysObj = new ActiveXObject("Scripting.FileSystemObject");
// 声明一个 textStream 对象 用来打开文件
var myInputTextStream = myFileSysObj.OpenTextFile(url,1,true);
var i =1;
while(!myInputTextStream.AtEndOfStream)
{
var aa=Number(i).toString();
form2.item(aa).value = myInputTextStream.ReadLine();
i++;
}
//close the stream to the files
myInputTextStream.Close();
}
</script>
FileSystemObject简介及应用:
方法或者属性 描述
BuildPath()
生成一个文件路径
CopyFile() 复制文件
CopyFolder() 复制目录
CreateFolder() 创建新目录
CreateTextFile() 生成一个文件
DeleteFile() 删除一个文件
DeleteFolder() 删除一个目录
DriveExists() 检验盘符是否存在
Drives 返回盘符的集合
FileExists() 检验文件是否存在
FolderExists 检验一个目录是否存在
GetAbsolutePathName() 取得一个文件的绝对路径
GetBaseName() 取得文件名
GetDrive() 取得盘符名
GetDriveName() 取得盘符名
GetExtensionName() 取得文件的后缀
GetFile() 生成文件对象
GetFileName() 取得文件名
GetFolder() 取得目录对象
GetParentFolderName 取得文件或目录的父目录名
GetSpecialFolder() 取得特殊的目录名
GetTempName() 生成一个临时文件对象
MoveFile() 移动文件
MoveFolder() 移动目录
OpenTextFile() 打开一个文件流
示例二
var tbsource = document.getElementById("tbsource").value;//本地文件夹路径
var hdfiles = "";
var objFSO =new ActiveXObject('Scripting.FileSystemObject');
if(!objFSO.FolderExists(tbsource))
{
alert("<"+tbsource+">该文件夹路径不存在,或者路径不能含文件名!");
objFSO = null;
return;
}
var objFolder = objFSO.GetFolder(tbsource);
var colFiles = new Enumerator(objFolder.Files);
var re_inf1 = /\.jpg$/; //验证文件夹文件是否jpg文件
for (; !colFiles.atEnd(); colFiles.moveNext()) //读取文件夹下文件
{
var objFile = colFiles.item();
if(re_inf1.test(objFile.Name.toLowerCase()))
{
hdfiles = hdfiles+objFile.Name+";";
}
}