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 相关文章推荐
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
Apr 24 Javascript
js中日期的加减法
May 06 Javascript
Javascript节点关系实例分析
May 15 Javascript
基于angularjs实现图片放大镜效果
Aug 31 Javascript
微信小程序 实现tabs选项卡效果实例代码
Oct 31 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
Sep 04 Javascript
vscode中vue-cli项目es-lint的配置方法
Jul 30 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
Dec 09 Javascript
详解Vue中的基本语法和常用指令
Jul 23 Javascript
Javascript 对象(object)合并操作实例分析
Jul 30 Javascript
javascript实现异形滚动轮播
Nov 28 Javascript
在vant 中使用cell组件 定义图标该图片和位置操作
Nov 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
文件系统基本操作类
2006/11/23 PHP
PHP 数组排序方法总结 推荐收藏
2010/06/30 PHP
php查询及多条件查询
2017/02/26 PHP
浅谈PHP匿名函数和闭包
2019/03/08 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
基于jquery的代码显示区域自动拉长效果
2011/12/07 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
javascript框架设计之种子模块
2015/06/23 Javascript
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
JavaScript制作简单的框选图表
2017/05/15 Javascript
基于jquery实现五星好评
2017/11/18 jQuery
vue中keep-alive的用法及问题描述
2018/05/15 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
linux系统使用python监控apache服务器进程脚本分享
2014/01/15 Python
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
Python数据类型详解(二)列表
2016/05/08 Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
2018/01/11 Python
Python numpy中矩阵的基本用法汇总
2019/02/12 Python
python制作填词游戏步骤详解
2019/05/05 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
解决Tensorboard 不显示计算图graph的问题
2020/02/15 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
Champion澳大利亚官网:美国冠军运动服装
2018/05/07 全球购物
促销活动总结怎么写
2014/06/25 职场文书
学校献爱心活动总结
2014/07/08 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
初中中等生评语
2014/12/29 职场文书
初中语文教学随笔
2015/08/15 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python
Python中的 No Module named ***问题及解决
2022/07/23 Python
MySQL使用IF语句及用case语句对条件并结果进行判断 
2022/09/23 MySQL