javascript怎么才能获取硬盘上的文件?

javascript怎么才能获取硬盘上的文件?,第1张

用GetFileName方法就行,方法介绍如下,希望对你有所帮助:
GetFileName 方法
返回指定路径的最后成分,但指定的路径不能只是驱动器说明。
objectGetFileName(pathspec)
参数
object
必选项。 应为 FileSystemObject 的名称。
pathspec
必选项。 指定文件的路径(绝对的或相对的)。
说明
如果 pathspec 没有以文件名成分结束,那么 GetFileName 方法将返回长度为零的字符串 ("") 。
注意 GetFileName 方法只作用于所提供的路径字符串。 不会试图解析路径,也不会检查路径存在与否。
下面的例子说明了 GetFileName 方法的用法。
function ShowFileName(filespec)
{
var fso, s = "";
fso = new ActiveXObject("ScriptingFileSystemObject");
s += fsoGetFileName(filespec);
return(s);
}

方法步骤如下:

1、首先,打开计算机,然后打开JS,在其中创建一个HTML文件“test”。

2、然后将HTML框架添加到测试文件中。

3、然后添加两个输入,一个是button,另一个是file将ID设置为“open”样式类型为“display:None”并且不显示。

4、打开后,仅显示此“打开文件”按钮。

5、现在将onclick事件添加到按钮,并调用openfile来触发ID为“open”的文件。

6、现在单击浏览器中的“打开文件”就会d出选择文件路径对话框。

实例说明
BuildPath(路径,文件名) //这个方法会对给定的路径加上文件,并自动加上分界符
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
var newpath = fsoBuildPath("c:\\tmp", "51jstxt"); //生成 c:\tmp\51jstxt的路径
alert(newpath);
-->
</SCRIPT>
CopyFile(源文件, 目标文件, 覆盖) //复制源文件到目标文件,当覆盖值为true时,如果目标文件存在会把文件覆盖
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
var newpath = fsoCopyFile("c:\\autoexecbat", "d:\\autoexecbak");
-->
</SCRIPT>
CopyFolder(对象目录,目标目录 ,覆盖) //复制对象目录到目标目录,当覆盖为true时,如果目标目录存在会把文件覆盖
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
fsoCopyFolder("c:\\WINDOWS\\Desktop", "d:\\"); //把C盘的Desktop目录复制到D盘的根目录
-->
</SCRIPT>
CreateFolder(目录名) //创建一个新的目录
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
var newFolderName = fsoCreateFolder("c:\\51JS"); //在C盘上创建一个51JS的目录
-->
</SCRIPT>
CreateTextFile(文件名, 覆盖) //创建一个新的文件,如果此文件已经存在,你需要把覆盖值定为true
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
var newFileObject = fsoCreateTextFile("c:\\autoexec51JSbat", true); //脚本将在C盘创建一个叫 autoexec51JSbat的文件
-->
</SCRIPT>
DeleteFile(文件名, 只读?) //删除一个文件,如果文件的属性是只读的话,你需要把只读值设为true
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject"); //为了安全我先把要删除的autoexecbat备份到你的D盘
var newpath = fsoCopyFile("c:\\autoexecbat", "d:\\autoexecbat"); //把C盘的autoexecbat文件删除掉
fsoDeleteFile("c:\\autoexecbat", true);
-->
</SCRIPT>
DeleteFolder(文件名, 只读?)//删除一个目录,如果目录的属性是只读的话,你需要把只读值设为true
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
fsoCopyFolder("c:\\WINDOWS\\Desktop", "d:\\"); //为了安全我先把你C盘的Desktop目录复制到你D盘的根目录
fsoDeleteFolder("c:\\WINDOWS\\Desktop", true); //把你的Desktop目录删除,但因为desktop是系统的东西,所以不能全部删除,但
-->
</SCRIPT>
DriveExists(盘符) //检查一个盘是否存在,如果存在就返会真,不存在就返回
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
hasDriveD = fsoDriveExists("d"); //检查系统是否有D盘存在
hasDriveZ = fsoDriveExists("z"); //检查系统是否有Z盘存在
if (hasDriveD) alert("你的系统内有一个D盘");
if (!hasDriveZ) alert("你的系统内没有Z盘");
-->
</SCRIPT>
FileExists(文件名) //检查一个文件是否存在,如果存在就返会真,不存在就返回
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
fileName = fsoFileExists("c:\\autoexecbat");
if (fileName) alert("你在C盘中有autoexecbat文件,按下确定后这个文件将被删除!"); //开个玩笑:)
-->
</SCRIPT>
FolderExists(目录名) //检查一个目录是否存在,如果存在就返会真,不存在就返回
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
folderName = fsoFolderExists("c:\\WINDOWS\\Fonts");
if (folderName) alert("按下确定后系统的字库将被删除!"); //开个玩笑:)
-->
</SCRIPT>
GetAbsolutePathName(文件对象) //返回文件对象在系统的绝对路径
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
pathName = fsoGetAbsolutePathName("c:\\autoexecbat");
alert(pathName);
-->
</SCRIPT>
GetBaseName(文件对象) //返回文件对象的文件名
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
baseName = fsoGetBaseName("c:\\autoexecbat"); //取得autoexecbat的文件名autoexec
alert(baseName);
-->
</SCRIPT>
GetExtensionName(文件对象) //文件的后缀
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
exName = fsoGetExtensionName("c:\\autoexecbat"); //取得autoexecbat后缀bat
alert(exName);
-->
</SCRIPT>
GetParentFolderName(文件对象) //取得父级的目录名
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
parentName = fsoGetParentFolderName("c:\\autoexecbat"); //取得autoexecbat的父级目录C盘
alert(parentName);
-->
</SCRIPT>
GetSpecialFolder(目录代码) //取得系统中一些特别的目录的路径,目录代码有3个分别是 0:安装Window的目录 1:系统文件目录 2:临时文件目录
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
tmpFolder = fsoGetSpecialFolder(2); //取得系统临时文件目录的路径 如我的是 C:\windows\temp
alert(tmpFolder);
-->
</SCRIPT>
GetTempName() //生成一个随机的临时文件对象,会以rad带头后面跟着些随机数,就好象一些软件在安装时会生成tmp
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
tmpName = fsoGetTempName(); //我在测试时就生成了radDB70Etmp
alert(tmpName);
-->
</SCRIPT>
MoveFile(源文件, 目标文件) //把源文件移到目标文件的位置
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
var newpath = fsoMoveFile("c:\\autoexecbat", "d:\\autoexecbat"); //把C盘的autoexecbat文件移移动到D盘
-->
</SCRIPT>

1,设置或获取对象指定的文件名或路径。

2,设置或获取整个 URL 为字符串。

3,设置或获取与 URL 关联的端口号码。

4,设置或获取 URL 的协议部分。

5,设置或获取 href 属性中在井号“#”后面的分段。

6,设置或获取 location 或 URL 的 hostname 和 port 号码。

7,获取 href 属性中跟在问号后面的部分。

8,用来得到当前网页的域名

file是一种特殊的input,不能被赋值,也不能被javascript取值,只能随表单提交,而且随表单提交的也是file路径所指向的文件本身。
这是浏览器安全原因所限制的,如果可以取值和赋值的话,那么javascript就可以随意获取你电脑上的文件了,这是非常危险的。
经过结合了HTML5提供的新技术FileHeader,成功地在file标签未作出提交前,分别获得了文件的:fileName、fileSize、file Last Mod、、、
唯一的缺点就是:未能在IE下通过。
不过,这不是什么缺点,因为我是在手机端的web开发,这里是andriod和IOS的天下。

var i_strngth = 1;
var i_image = 0;
var imageurl = new Array();
// 这一部分我是手功指定的路径,你的路径是放在数据库中的,只用在这里做更改,把路径的设置改成动态读取就可以了
//======================================
imageurl[0] ="images/pic1gif";
imageurl[1] ="images/pic2gif";
imageurl[2] ="images/pic3gif";
imageurl[3] ="images/pic4gif";
//======================================
function showimage()
{
if(documentall)
{
if (i_strngth <= 110)
{
div_PicinnerHTML = "<img style=\"filter:alpha(opacity='" + i_strngth + "'); height:248px; width:138px;\" src='" + imageurl[i_image] + "' border='0' />";
i_strngth = i_strngth + 10;
var timer=setTimeout("showimage()", 100);
}
else
{
clearTimeout(timer);
var timer = setTimeout("hideimage()", 1000);
}
}
if(documentlayers)
{
clearTimeout(timer)
documentdiv_Picdocumentwrite("<img src='" + imageurl[i_image] + "' border='0' style='height:248px; width:138px;' />");
documentclose();
i_image++;
if (i_image >= imageurllength)
{
i_image = 0;
}
var timer = setTimeout("showimage()", 2000);
}
}
function hideimage()
{
if (i_strngth >= -10)
{
div_PicinnerHTML = "<img style=\"filter:alpha(opacity='" + i_strngth + "'); height:248px; width:138px;\" src='" + imageurl[i_image] + "' border='0' />";
i_strngth = i_strngth - 10;
var timer = setTimeout("hideimage()", 100);
}
else
{
clearTimeout(timer)
i_image++;
if (i_image >= imageurllength)
{
i_image = 0;
}
i_strngth = 1;
var timer=setTimeout("showimage()", 500);
}
}
那就需要用到Ajax技术,你是用时间来做为名称,那么可以用程序取出文件名然后选取离系统当前时间最近的一个文件做为当前显示的,然后回传达到JS来进行路径的更改显示


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

原文地址: https://outofmemory.cn/yw/13389026.html

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

发表评论

登录后才能评论

评论列表(0条)

保存