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 相关文章推荐
js实现的切换面板实例代码
Jun 17 Javascript
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
Dec 02 Javascript
jQuery根据元素值删除数组元素的方法
Jun 24 Javascript
基于ajax实现文件上传并显示进度条
Aug 03 Javascript
JS使用eval解析JSON的注意事项分析
Nov 14 Javascript
CSS中position属性之fixed实现div居中
Dec 14 Javascript
JS验证码实现代码
Sep 14 Javascript
vue微信分享 vue实现当前页面分享其他页面
Dec 02 Javascript
vue.js删除列表中的一行
Jun 30 Javascript
深入浅析Vue中mixin和extend的区别和使用场景
Aug 01 Javascript
解决Layui数据表格显示无数据提示的问题
Nov 14 Javascript
javascript绘制简单钟表效果
Apr 07 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
德生PL990的分析评价
2021/03/02 无线电
php使用多个进程同时控制文件读写示例
2014/02/28 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
PHP实现阳历到农历转换的类实例
2015/03/07 PHP
jquery 表格分页等操作实现代码(pagedown,pageup)
2010/04/11 Javascript
JS实现商品倒计时实现代码
2013/05/03 Javascript
IE下JS读取xml文件示例代码
2013/08/05 Javascript
js日期、星座的级联显示代码
2014/01/23 Javascript
JavaScript 作用域链解析
2014/11/13 Javascript
JS清除选择内容的方法
2015/01/29 Javascript
浅谈EasyUI中编辑treegrid的方法
2015/03/01 Javascript
Js实现自定义右键行为
2015/03/26 Javascript
JavaScript编程中实现对象封装特性的实例讲解
2016/06/24 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
2018/10/14 Javascript
javascript面向对象三大特征之多态实例详解
2019/07/24 Javascript
layui实现数据表格table分页功能(ajax异步)
2019/07/27 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
python 判断一个进程是否存在
2009/04/09 Python
python冒泡排序简单实现方法
2015/07/09 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
Python实现找出数组中第2大数字的方法示例
2018/03/26 Python
Python MySQLdb 执行sql语句时的参数传递方式
2020/03/04 Python
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
2020/03/06 Python
Python之Sklearn使用入门教程
2021/02/19 Python
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
毕业求职自荐信格式是什么
2013/11/19 职场文书
快餐店的创业计划书范文
2014/01/29 职场文书
环保倡议书
2014/04/14 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书
大学运动会加油稿
2015/07/22 职场文书
浅谈Java父子类加载顺序
2021/08/04 Java/Android
Linux系统下MySQL配置主从分离的步骤
2022/03/21 MySQL
Docker 镜像介绍以及commit相关操作
2022/04/13 Servers