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 相关文章推荐
Code:findPosX 和 findPosY
Dec 20 Javascript
JS 时间显示效果代码
Aug 23 Javascript
IE8 chrome中table隔行换色解决办法
Jul 09 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
Jul 04 Javascript
用JS将搜索的关键字高亮显示实现代码
Nov 08 Javascript
js取整数、取余数的方法
May 11 Javascript
最流行的Node.js精简型和全栈型开发框架介绍
Feb 26 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
Sep 19 Javascript
学习JavaScript设计模式之状态模式
Jan 08 Javascript
Javascript获取随机数的实现方法
Jun 22 Javascript
详解百度百科目录导航树小插件
Jan 08 Javascript
详谈AngularJs 控制器、数据绑定、作用域
Jul 09 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
神族 Protoss 历史背景
2020/03/14 星际争霸
批量获取memcache值并按key的顺序返回的实现代码
2011/06/14 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
PHPCMS手机站伪静态设置详细教程
2017/02/06 PHP
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
浅谈PHP array_search 和 in_array 函数效率问题
2019/10/15 PHP
js和php如何获取当前url的内容
2013/09/22 Javascript
jQuery中replaceWith()方法用法实例
2014/12/25 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
js实现动态显示时间效果
2017/03/06 Javascript
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
webstorm添加*.vue文件支持
2018/05/08 Javascript
浅析Vue项目中使用keep-Alive步骤
2018/07/27 Javascript
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
2019/10/24 Python
Python socket聊天脚本代码实例
2020/01/02 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
如何使用python写截屏小工具
2020/09/29 Python
html5 外链式实现加减乘除的代码
2019/09/04 HTML / CSS
MyBag中文网:英国著名的时尚包袋电商零售网站
2020/07/31 全球购物
Ruby如何进行文件操作
2014/07/17 面试题
医学专业大学生求职信
2014/07/12 职场文书
致800米运动员广播稿(10篇)
2014/10/17 职场文书
三人合伙协议书范本
2014/10/29 职场文书
幼儿园家长工作总结2015
2015/04/25 职场文书
单位工作证明范本
2015/06/15 职场文书
运动会宣传稿50字
2015/07/23 职场文书
详解Redis主从复制实践
2021/05/19 Redis
如何使用 resize 实现图片切换预览功能
2021/08/23 HTML / CSS