javascript 选择文件夹对话框(web)
时间:2024-04-17 09:48:43
没有办法,实践证明最好的解决办法是自己写一个OCX控件,这样就只要注册一下OCX控件就可以了,同时OCX控件的可扩展性非常大,也就是给vc\delphi这些程序的功能引入到web中,其功能可想而知!
这里不说明OCX开发的过程了,给自己写的OCX控件共享一下,希望能给一些朋友提供帮助。
这个OCX控件中提供了一个getFiles()方法,只要获取控件对象,然后调用getFiles()方法就可以获取对应路径下的所有文件,如下图:
该控件可以选择任意盘符下的任意文件夹,图中最下面的按钮时web中的input,通过web中的js方法来获取文件列表,OCX
的getFiles()方法返回文件名串,样式如1.jpg;2.jpg;3.jpg,每个文件名中间用“;”链接,在js中使用split方法来分离一下就可以了。
页面代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript"><!--
function show(){
var obj=document.getElementById("pathOcx");
var str=obj.getFiles();
var list=str.split(";");
for(var i=0;i<list.length;i++){
if(list[i]!=""){
alert(list[i]);
}
}
}
// --></script>
</head>
<body>
<OBJECT
id="pathOcx"
classid="clsid:13BF0862-063C-432F-A8DF-07C2823E8562"
width=420
height=300
align=center
hspace=0
vspace=0
>
</OBJECT>
<br>
<input type="button" name="Submit" value="显示数据" onClick="show()">
</body>
</html>
这样就可以使用该控件选取任意文件夹了,并且可以通过js获取文件夹中的所有内容,由于篇幅有限,这里不对该OCX更多的功能做说明,下篇准备给OCX增加上传功能,这样既可以上传整个文件夹,而且支持断点续传。
最后注明:OCX使用的时候需要注册控件
注册方法:运行cmd,进入比如OCX控件在C:\123.OCX,在cmd中运行RegSvr32 c:\123.OCX,会提示注册成功,然后就可以在网页中使用了!
打包下载
标签:javascript,选择文件夹
0
投稿
猜你喜欢
Python图像处理之gif动态图的解析与合成操作详解
2022-09-27 18:19:51
Python利用GDAL模块实现读取栅格数据并对指定数据加以筛选掩膜
2021-02-16 00:49:31
python 基于opencv 绘制图像轮廓
2023-07-11 05:47:54
Go Slice进行参数传递如何实现详解
2024-02-16 13:07:46
最新python正则表达式(re模块)详解
2022-09-01 06:09:58
Python魔术方法专题
2023-03-14 15:38:02
vue-loader和webpack项目配置及npm错误问题的解决
2024-04-29 13:10:33
python实现简易版学生成绩管理系统
2022-01-19 10:52:03
Python利用networkx画图绘制Les Misérables人物关系
2021-03-31 07:41:54
提升Python运行速度的5个小技巧
2021-07-28 20:25:24
开启SQLSERVER数据库缓存依赖优化网站性能
2024-01-26 18:05:20
Python对多个sheet表进行整合实例讲解
2021-01-15 06:18:24
GoFrame代码优化gconv类型转换避免重复定义map
2024-04-27 15:32:04
python数组中的 k-diff 数对例题解析
2022-03-30 18:21:47
Python的Socket编程过程中实现UDP端口复用的实例分享
2022-07-03 21:59:56
Python中用Ctrl+C终止多线程程序的问题解决
2021-10-22 03:22:18
编写一个JS组件来说说call和apply的用法
2008-11-23 17:11:00
css命名及书写规范大全
2008-05-24 08:52:00
css+JavaScript实现PDF、ZIP、DOC链接的标注
2007-05-11 17:03:00
正则表达式字面量在ECMAScript5中的变化
2012-04-26 16:23:16