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 相关文章推荐
个人总结的一些关于String、Function、Array的属性和用法
Jan 10 Javascript
jquery ui dialog里调用datepicker的问题
Aug 06 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
Jul 21 Javascript
js获取时间并实现字符串和时间戳之间的转换
Jan 05 Javascript
javascript计时器详解
Feb 28 Javascript
jquery实现两个图片渐变切换效果的方法
Jun 25 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
Dec 22 Javascript
JS实现类似百叶窗下拉菜单效果
Dec 30 Javascript
javascript DOM的详解及实例代码
Mar 06 Javascript
javascript实现文本框标签验证的实例代码
Oct 14 Javascript
解决vue-cli 打包后自定义动画未执行的问题
Nov 12 Javascript
微信小程序scroll-view的滚动条设置实现
Mar 02 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的FTP学习(一)[转自奥索]
2006/10/09 PHP
PHP小程序自动提交到自助友情连接
2009/11/24 PHP
php中神奇的fastcgi_finish_request
2011/05/02 PHP
JQuery切换显示的效果实例代码
2013/02/27 Javascript
用C/C++来实现 Node.js 的模块(二)
2014/09/24 Javascript
Jquery动态添加输入框的方法
2015/05/29 Javascript
实例详解Nodejs 保存 payload 发送过来的文件
2016/01/14 NodeJs
jQuery中数据缓存$.data的用法及源码完全解析
2016/04/29 Javascript
JavaScript如何实现跨域请求
2016/08/05 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
解决vuecli3.0热更新失效的问题
2018/09/19 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
vue Tab切换以及缓存页面处理的几种方式
2019/11/05 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
2019/12/10 Javascript
js实现飞机大战小游戏
2020/08/26 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
python登录豆瓣并发帖的方法
2015/07/08 Python
python实现数据预处理之填充缺失值的示例
2017/12/22 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
numpy.meshgrid()理解(小结)
2019/08/01 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
基于Tensorflow批量数据的输入实现方式
2020/02/05 Python
python连接PostgreSQL过程解析
2020/02/09 Python
Python调用接口合并Excel表代码实例
2020/03/31 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
2020/04/23 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
2020/06/02 Python
详解css3 mask遮罩实现一些特效
2018/10/24 HTML / CSS
英国领先的杂志订阅网站:Magazine.co.uk
2018/01/25 全球购物
int *p=NULL和*p= NULL有什么区别
2014/10/23 面试题
2015教师年度考核评语
2015/03/25 职场文书
教师听课学习心得体会
2016/01/15 职场文书
详解Vue的sync修饰符
2021/05/15 Vue.js