javascript 选择文件夹对话框(web)


Posted in Javascript onJuly 07, 2009

没有办法,实践证明最好的解决办法是自己写一个OCX控件,这样就只要注册一下OCX控件就可以了,同时OCX控件的可扩展性非常大,也就是给vc\delphi这些程序的功能引入到web中,其功能可想而知!
这里不说明OCX开发的过程了,给自己写的OCX控件共享一下,希望能给一些朋友提供帮助。
这个OCX控件中提供了一个getFiles()方法,只要获取控件对象,然后调用getFiles()方法就可以获取对应路径下的所有文件,如下图:
javascript 选择文件夹对话框(web)
该控件可以选择任意盘符下的任意文件夹,图中最下面的按钮时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 相关文章推荐
使用javascript访问XML数据的实例
Dec 27 Javascript
在VS2008中使用jQuery智能感应的方法
Dec 30 Javascript
jquery 实现窗口的最大化不论什么情况
Sep 03 Javascript
JavaScript实现简单的tab选项卡切换
Jan 05 Javascript
javascript中闭包(Closure)详解
Jan 06 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
Oct 10 Javascript
Bootstrap Table使用方法解析
Oct 19 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
Feb 15 Javascript
vue生成随机验证码的示例代码
Sep 29 Javascript
Vue 使用 Mint UI 实现左滑删除效果CellSwipe
Apr 27 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
Sep 05 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
Jun 17 Javascript
JavaScript 解析读取XML文档 实例代码
Jul 07 #Javascript
javascript 新浪背投广告实现代码
Jul 07 #Javascript
JavaScript 对象、函数和继承
Jul 07 #Javascript
js 日期转换成中文格式的函数
Jul 07 #Javascript
javascript 面向对象思想 附源码
Jul 07 #Javascript
jquery BS,dialog控件自适应大小
Jul 06 #Javascript
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
Jul 06 #Javascript
You might like
PHP下通过QRCode类库创建中间带网站LOGO的二维码
2014/07/12 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
php修改上传图片尺寸的方法
2015/04/14 PHP
php利用事务处理转账问题
2015/04/22 PHP
php实现头像上传预览功能
2017/04/27 PHP
Swoole实现异步投递task任务案例详解
2019/04/02 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
JQUERY 对象与DOM对象之两者相互间的转换
2009/04/27 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
jquery入门—编写一个导航条(可伸缩)
2013/01/07 Javascript
JS cookie中文乱码解决方法
2014/01/28 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
jquery基础知识第一讲之认识jquery
2016/03/17 Javascript
微信小程序 JS动态修改样式的实现代码
2017/02/10 Javascript
解决Linux无法正常安装与卸载Node.js的方法
2018/01/19 Javascript
使用Vue组件实现一个简单弹窗效果
2018/04/23 Javascript
Vue项目中使用Vux的安装过程
2018/05/01 Javascript
[01:32]DOTA2次级联赛——首支职业女子战队选拔赛全记录
2014/10/23 DOTA
[00:32]10月24、25日 辉夜杯外卡赛附加赛开赛!
2015/10/23 DOTA
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
使用Python的Supervisor进行进程监控以及自动启动
2014/05/29 Python
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
python实现ID3决策树算法
2017/12/20 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
基于Python Numpy的数组array和矩阵matrix详解
2018/04/04 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
Random 在 Python 中的使用方法
2018/08/09 Python
Python之指数与E记法的区别详解
2019/11/21 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
2020/01/04 Python
农民入党思想汇报
2014/01/03 职场文书
2014年重阳节老干部座谈会上的讲话稿
2014/09/25 职场文书
创先争优个人总结
2015/03/04 职场文书
结婚喜宴迎宾词
2015/08/10 职场文书
pytorch fine-tune 预训练的模型操作
2021/06/03 Python
nginx location 带斜杠【 / 】与不带的区别
2022/04/13 Servers