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 强制类型转换函数
May 17 Javascript
js DOM 元素ID就是全局变量
Sep 20 Javascript
js对象转json数组的简单实现案例
Feb 28 Javascript
jQuery实现将页面上HTML标签换成另外标签的方法
Jun 09 Javascript
js调用百度地图及调用百度地图的搜索功能
Sep 07 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
May 28 Javascript
layer实现关闭弹出层刷新父界面功能详解
Nov 15 Javascript
Vue组件的使用教程详解
Jan 05 Javascript
基于iview的router常用控制方式
May 30 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
Sep 21 Javascript
jQuery AJAX应用实例总结
May 19 jQuery
原生JavaScript实现换肤
Feb 19 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
example2.php
2006/10/09 PHP
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
2011/11/10 PHP
PHP中fwrite与file_put_contents性能测试代码
2013/08/02 PHP
php使用str_replace实现输入框回车替换br的方法
2014/11/24 PHP
分享自定义的几个PHP功能函数
2015/04/15 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
PhpSpreadsheet设置单元格常用操作汇总
2020/11/13 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
JS实现self的resend
2010/07/22 Javascript
判断js对象是否拥有某一个属性的js代码
2013/08/16 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
2016/06/12 Javascript
jQuery实现查找链接文字替换属性的方法
2016/06/27 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
jQuery实现动态添加节点与遍历节点功能示例
2017/11/09 jQuery
基于jquery.page.js实现分页效果
2018/01/01 jQuery
vue this.reload 方法 配置
2018/09/12 Javascript
vue配置多代理服务接口地址操作
2020/09/08 Javascript
pandas表连接 索引上的合并方法
2018/06/08 Python
用python爬取租房网站信息的代码
2018/12/14 Python
Django将默认的SQLite更换为MySQL的实现
2019/11/18 Python
python分布式计算dispy的使用详解
2019/12/22 Python
浅谈matplotlib中FigureCanvasXAgg的用法
2020/06/16 Python
浅谈keras 的抽象后端(from keras import backend as K)
2020/06/16 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
利用CSS3的border-radius绘制太极及爱心图案示例
2016/05/17 HTML / CSS
美国木工工具和用品商店:Woodcraft
2019/10/30 全球购物
物流专业大学生的自我鉴定
2013/11/13 职场文书
领导班子四风查摆对照检查材料思想汇报
2014/10/05 职场文书
2014年学校工会工作总结
2014/12/06 职场文书
婚育证明格式
2015/06/17 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
2019年世界儿童日宣传标语
2019/11/22 职场文书