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 相关文章推荐
一个tab标签切换效果代码
Mar 27 Javascript
javascript表单验证 - Parsley.js使用和配置
Jan 25 Javascript
点击显示指定元素隐藏其他同辈元素的方法
Feb 19 Javascript
单击和双击事件的冲突处理示例代码
Apr 03 Javascript
Bootstrap下拉菜单样式
Feb 07 Javascript
通过命令行创建vue项目的方法
Jul 20 Javascript
详解ES6通过WeakMap解决内存泄漏问题
Mar 09 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
Sep 20 jQuery
简单实现节流函数和防抖函数过程解析
Oct 08 Javascript
html-webpack-plugin修改页面的title的方法
Jun 18 Javascript
Js数组扁平化实现方法代码总汇
Nov 11 Javascript
Ajax常用封装库——Axios的使用
May 08 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+AJAX聊天程序[聊天室]提供下载
2007/07/21 PHP
php下尝试使用GraphicsMagick的缩略图功能
2011/01/01 PHP
PHP警告Cannot use a scalar value as an array的解决方法
2012/01/11 PHP
PHP中call_user_func_array()函数的用法演示
2012/02/05 PHP
PHP模板引擎smarty详细介绍
2015/05/26 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
IE8提示Invalid procedure call or argument 异常的解决方法
2012/09/30 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
2013/05/07 Javascript
javascript中定义私有方法说明(private method)
2014/01/27 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
jquery判断iPhone、Android设备类型
2016/09/14 Javascript
html中鼠标滚轮事件onmousewheel的处理方法
2016/11/11 Javascript
jQuery实现的浮动层div浏览器居中显示效果
2017/02/03 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
vue.js简单配置axios的方法详解
2017/12/13 Javascript
微信小程序动态添加和删除组件的现实
2020/02/28 Javascript
Vue中引入svg图标的两种方式
2021/01/14 Vue.js
django+echart数据动态显示的例子
2019/08/12 Python
python列表切片和嵌套列表取值操作详解
2020/02/27 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
2020/04/24 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
Python descriptor(描述符)的实现
2020/11/15 Python
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
德国baby-markt婴儿用品瑞士网站:baby-markt.ch
2017/06/09 全球购物
瑞士最大的图书贸易公司:Orell Füssli
2019/12/28 全球购物
自荐信范文
2013/12/10 职场文书
社区巾帼文明岗事迹材料
2014/06/03 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
个人授权委托书范本格式
2014/10/12 职场文书
教师政风行风自查自纠报告
2014/10/21 职场文书
先进教师事迹材料
2014/12/16 职场文书
百家讲坛观后感
2015/06/12 职场文书
2016年寒假政治学习心得体会
2015/10/09 职场文书