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 相关文章推荐
jquery 合并内容相同的单元格(示例代码)
Dec 13 Javascript
javascript在当前窗口关闭前检测窗口是否关闭
Sep 29 Javascript
jQuery链使用指南
Jan 20 Javascript
js数组如何添加json数据及js数组与json的区别
Oct 27 Javascript
jQuery+css实现的换页标签栏效果
Jan 27 Javascript
关于vue.js发布后路径引用的问题解决
Aug 15 Javascript
js前端面试之同步与异步问题详解
Apr 03 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
Jun 10 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
Jan 04 Javascript
Vuex的各个模块封装的实现
Jun 05 Javascript
关于vue 项目中浏览器跨域的配置问题
Nov 10 Javascript
vue3.0自定义指令(drectives)知识点总结
Dec 27 Vue.js
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
晶体管来复再生式二管收音机
2021/03/02 无线电
PHP句法规则详解 入门学习
2011/11/09 PHP
PHP中call_user_func_array()函数的用法演示
2012/02/05 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
HTML IMG标签 onload 内存溢出导致浏览器CPU占用过高
2021/03/09 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
jQuery点击按钮弹出遮罩层且内容居中特效
2015/12/14 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
2016/03/13 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
JS模拟超市简易收银台小程序代码解析
2017/08/18 Javascript
详解Chai.js断言库API中文文档
2018/01/31 Javascript
详解plotly.js 绘图库入门使用教程
2018/02/23 Javascript
angular第三方包开发整理(小结)
2018/04/19 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
2018/09/13 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
Vue代码整洁之去重方法整理
2019/08/06 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
vue实现路由懒加载的3种方法示例
2020/09/01 Javascript
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
python线程池threadpool实现篇
2018/04/27 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
Python控制台实现交互式环境执行
2020/06/09 Python
Sam’s Club山姆会员商店:沃尔玛旗下高端会员制商店
2017/01/16 全球购物
美国时尚在线:Showpo
2017/09/08 全球购物
餐饮加盟计划书
2014/01/10 职场文书
学校三节实施方案
2014/06/09 职场文书
竞选班干部演讲稿300字
2014/08/20 职场文书
小学生九一八纪念日83周年演讲稿500字
2014/09/17 职场文书
2014年房地产销售工作总结
2014/12/01 职场文书
2015年采购员工作总结
2015/04/27 职场文书
企业战略合作意向书
2015/05/08 职场文书
感恩教师节主题班会
2015/08/12 职场文书
Nginx 根据URL带的参数转发的实现
2021/04/01 Servers
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle
python通过函数名调用函数的几种方法总结
2021/06/07 Python