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 相关文章推荐
textarea的value是html文件源代码,存成html文件的代码
Apr 20 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
Sep 23 Javascript
浅谈javascript回调函数
Dec 07 Javascript
jquery 设置style:display的方法
Jan 29 Javascript
javascript实现控制div颜色
Jul 07 Javascript
理解 JavaScript Scoping &amp; Hoisting(二)
Nov 18 Javascript
jquery对象和DOM对象的相互转换详解
Oct 18 Javascript
Webpack实战加载SVG的方法
Dec 26 Javascript
React实现全局组件的Toast轻提示效果
Sep 21 Javascript
Vue 中的受控与非受控组件的实现
Dec 17 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
May 07 Javascript
原生js实现点击轮播切换图片
Feb 11 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 如何获取二维数组中某个key的集合
2014/06/03 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
关于axios返回空对象的问题解决
2017/04/04 Javascript
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
JavaScript中使用参数个数实现重载功能
2017/09/01 Javascript
微信小程序使用checkbox显示多项选择框功能【附源码下载】
2017/12/11 Javascript
Echarts之悬浮框中的数据排序问题
2018/11/08 Javascript
解决echarts的多个折现数据出现坐标和值对不上的问题
2018/12/28 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
Vue前端判断数据对象是否为空的实例
2020/09/02 Javascript
vue实现放大镜效果
2020/09/17 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
JSON stringify方法原理及实例解析
2020/10/23 Javascript
python对html代码进行escape编码的方法
2015/05/04 Python
Python栈类实例分析
2015/06/15 Python
Python的for和break循环结构中使用else语句的技巧
2016/05/24 Python
Python实现的三层BP神经网络算法示例
2018/02/07 Python
django如何通过类视图使用装饰器
2019/07/24 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
Python对接六大主流数据库(只需三步)
2019/07/31 Python
Python序列对象与String类型内置方法详解
2019/10/22 Python
jupyter notebook实现显示行号
2020/04/13 Python
Django全局启用登陆验证login_required的方法
2020/06/02 Python
python 实现rolling和apply函数的向下取值操作
2020/06/08 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
CSS3 实现弹跳的小球动画
2020/10/26 HTML / CSS
销售人员个人求职信
2013/09/26 职场文书
高一化学教学反思
2014/02/05 职场文书
优秀教师演讲稿
2014/05/06 职场文书
教师演讲稿大全
2014/05/16 职场文书
社区节水倡议书
2015/04/29 职场文书
《神奇的鸟岛》教学反思
2016/02/22 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python