javascript 选择文件夹对话框(web)

时间:2024-04-17 09:48:43 

没有办法,实践证明最好的解决办法是自己写一个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,选择文件夹
0
投稿

猜你喜欢

  • Python图像处理之gif动态图的解析与合成操作详解

    2022-09-27 18:19:51
  • Python利用GDAL模块实现读取栅格数据并对指定数据加以筛选掩膜

    2021-02-16 00:49:31
  • python 基于opencv 绘制图像轮廓

    2023-07-11 05:47:54
  • Go Slice进行参数传递如何实现详解

    2024-02-16 13:07:46
  • 最新python正则表达式(re模块)详解

    2022-09-01 06:09:58
  • Python魔术方法专题

    2023-03-14 15:38:02
  • vue-loader和webpack项目配置及npm错误问题的解决

    2024-04-29 13:10:33
  • python实现简易版学生成绩管理系统

    2022-01-19 10:52:03
  • Python利用networkx画图绘制Les Misérables人物关系

    2021-03-31 07:41:54
  • 提升Python运行速度的5个小技巧

    2021-07-28 20:25:24
  • 开启SQLSERVER数据库缓存依赖优化网站性能

    2024-01-26 18:05:20
  • Python对多个sheet表进行整合实例讲解

    2021-01-15 06:18:24
  • GoFrame代码优化gconv类型转换避免重复定义map

    2024-04-27 15:32:04
  • python数组中的 k-diff 数对例题解析

    2022-03-30 18:21:47
  • Python的Socket编程过程中实现UDP端口复用的实例分享

    2022-07-03 21:59:56
  • Python中用Ctrl+C终止多线程程序的问题解决

    2021-10-22 03:22:18
  • 编写一个JS组件来说说call和apply的用法

    2008-11-23 17:11:00
  • css命名及书写规范大全

    2008-05-24 08:52:00
  • css+JavaScript实现PDF、ZIP、DOC链接的标注

    2007-05-11 17:03:00
  • 正则表达式字面量在ECMAScript5中的变化

    2012-04-26 16:23:16
  • asp之家 网络编程 m.aspxhome.com