`
erikchang
  • 浏览: 50664 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

谈一下web中选择文件夹

    博客分类:
  • java
阅读更多

 

         web程序开发中经常会遇见选择文件夹的时候,这对于web程序员是一件麻烦的事情,由于本地安全限制JS不能访问本地文件,所以选择文件夹一般都避而不谈,笔者在写一个程序的时候也遇见了同样的问题,开始尝试使用JS来遍历文件,结果都没有成功,没有办法,实践证明最好的解决办法是自己写一个OCX控件,这样就只要注册一下OCX控件就可以了,同时OCX控件的可扩展性非常大,也就是给vc\delphi这些程序的功能引入到web中,其功能可想而知!

    这里不说明OCX开发的过程了,给自己写的OCX控件共享一下,希望能给一些朋友提供帮助。

    这个OCX控件中提供了一个getFiles()方法,只要获取控件对象,然后调用getFiles()方法就可以获取对应路径下的所有文件,如下图:

   

 

该控件可以选择任意盘符下的任意文件夹,图中最下面的按钮时web中的input,通过web中的js方法来获取文件列表,OCX

的getFiles()方法返回文件名串,样式如1.jpg;2.jpg;3.jpg,每个文件名中间用“;”链接,在js中使用split方法来分离一下就可以了。

页面代码如下:

这样就可以使用该控件选取任意文件夹了,并且可以通过js获取文件夹中的所有内容,由于篇幅有限,这里不对该OCX更多的功能做说明,下篇准备给OCX增加上传功能,这样既可以上传整个文件夹,而且支持断点续传。

最后注明:OCX使用的时候需要注册控件

注册方法:运行cmd,进入比如OCX控件在C:\123.OCX,在cmd中运行RegSvr32   c:\123.OCX,会提示注册成功,然后就可以在网页中使用了!

点此下载该控件

  • 大小: 28 KB
  • 大小: 4.2 KB
1
0
分享到:
评论
9 楼 erikchang 2010-05-18  
OCX技术在某些时候还是必须的,尤其是安全需求到一定程度,比如淘宝网站登录的密码输入就是使用了OCX技术,一般要求安全的数据输入都可以使用这个东西,因为任何浏览器都不可能记录OCX中输入的数据!
8 楼 tpm_athrun 2010-05-18  
[quote="ray_linn浏览服务器端就是写个server端的com呗,
想写个自己特殊的客户端browse,就写个activex.
写这东西,王道是vb.

可惜VB还不怎么会!
7 楼 ray_linn 2010-05-17  
tpm_athrun 写道
OCX可以在用户端调用本地文件夹吗?  是需要安装OCX控件后还是怎么??



浏览服务器端就是写个server端的com呗,
想写个自己特殊的客户端browse,就写个activex.
写这东西,王道是vb.
6 楼 tpm_athrun 2010-05-17  
OCX可以在用户端调用本地文件夹吗?  是需要安装OCX控件后还是怎么??
5 楼 zzsczz 2009-11-05  
windows dna结构( Windows Distributed interNet Applications Architecture) 有过介绍

这样做要处理的问题:
1 开发工具的bug...最好只用api,然后啃 msdn  疯狂测试,copy and paste 的代码基本不会有什么问题。要是使用类库(atl/mfc/vcl/vb)的话,将会引入更多问题(文挡齐全否? 工具向导如何操作?),如果win32 api和c 不熟悉,基本没有办法跨越所有的地雷。

2 界面的样式。win32工具的界面要想换皮肤的话   怎么办 ?


在ms的地盘上还是跟着ms走,winform代替ocx可以简化开发的难度。。。。。。
4 楼 wangcll 2009-11-05  
<div class="quote_title">erikchang 写道</div>
<div class="quote_div">
<p> </p>
<p>         web程序开发中经常会遇见选择文件夹的时候,这对于web程序员是一件麻烦的事情,由于本地安全限制JS不能访问本地文件,所以选择文件夹一般都避而不谈,笔者在写一个程序的时候也遇见了同样的问题,开始尝试使用JS来遍历文件,结果都没有成功,没有办法,实践证明最好的解决办法是自己写一个OCX控件,这样就只要注册一下OCX控件就可以了,同时OCX控件的可扩展性非常大,也就是给vc\delphi这些程序的功能引入到web中,其功能可想而知!</p>
<p>    这里不说明OCX开发的过程了,给自己写的OCX控件共享一下,希望能给一些朋友提供帮助。</p>
<p>    这个OCX控件中提供了一个getFiles()方法,只要获取控件对象,然后调用getFiles()方法就可以获取对应路径下的所有文件,如下图:</p>
<p>    <br><br> </p>
<p style="text-align: center;"><img src="/upload/attachment/122635/b28bf709-d31a-3606-b911-e4dac0364743.png" alt=""></p>
<p>该控件可以选择任意盘符下的任意文件夹,图中最下面的按钮时web中的input,通过web中的js方法来获取文件列表,OCX</p>
<p>的getFiles()方法返回文件名串,样式如1.jpg;2.jpg;3.jpg,每个文件名中间用“;”链接,在js中使用split方法来分离一下就可以了。</p>
<p>页面代码如下:</p>
<p><textarea class="xhtml" cols="50" rows="15" name="code">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;title&gt;无标题文档&lt;/title&gt;
&lt;mce:script type="text/javascript"&gt;&lt;!--
function show(){
  var obj=document.getElementById("pathOcx");
  var str=obj.getFiles();
  var list=str.split(";");
  for(var i=0;i&lt;list.length;i++){
  if(list[i]!=""){
    alert(list[i]);
}
  }
}
// --&gt;&lt;/mce:script&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;OBJECT
      id="pathOcx"
  classid="clsid:13BF0862-063C-432F-A8DF-07C2823E8562"
  width=420
  height=300
  align=center
  hspace=0
  vspace=0
&gt;
  &lt;/OBJECT&gt;
  &lt;br&gt;
  &lt;input type="button" name="Submit" value="显示数据" onClick="show()"&gt;
&lt;/body&gt;
&lt;/html&gt;
</textarea></p>
<p>这样就可以使用该控件选取任意文件夹了,并且可以通过js获取文件夹中的所有内容,由于篇幅有限,这里不对该OCX更多的功能做说明,下篇准备给OCX增加上传功能,这样既可以上传整个文件夹,而且支持断点续传。</p>
<p><span style="color: #ff0000;">最后注明:OCX使用的时候需要注册控件</span></p>
<p><span style="color: #0000ff;">注册方法:运行cmd,进入比如OCX控件在C:\123.OCX,在cmd中运行RegSvr32   c:\123.OCX,会提示注册成功,然后就可以在网页中使用了!</span></p>
<p><span style="color: #ff0000;"><a href="/topics/download/78bb6c48-2506-3772-a51e-b32a8180c8e0" target="_blank"><span style="color: #ff0000;">点此下载该控件</span></a></span></p>
</div>
<p> </p>
3 楼 erikchang 2009-10-17  
zzsczz 写道
可以详细介绍一下 js 兼容性  和浏览器 版本 的兼容性么?

OCX对浏览器到版本没有太多要求,调用var obj=document.getElementById("pathOcx"); 这里使用的是IE的getElementById方法,在其他的浏览器中可以使用getElementsByTag,同样可以!
2 楼 zzsczz 2009-10-15  
可以详细介绍一下 js 兼容性  和浏览器 版本 的兼容性么?
1 楼 androidnew 2009-10-15  
lz说说开发ocx的过程吧。 我对这个比较感兴趣。

相关推荐

    eclipse maven tomcat 虚拟目录 多资源文件夹 多源码文件夹

    标题中的“eclipse maven tomcat 虚拟目录 多资源文件夹 多源码文件夹”涉及了几个关键的开发工具和技术,包括Eclipse(一个流行的Java IDE)、Maven(一个项目管理和构建工具)以及Tomcat(一个广泛使用的Java ...

    浅谈Java中Mysql数据库的连接与操作.pdf

    文章中提到,软件项目开发离不开数据库,尤其在B/S架构下的Web开发中,数据库的交互操作必不可少。数据库的选择会根据项目的不同需求而有所差异。在众多数据库产品中,Oracle数据库因其稳定性和强大的功能常用于大型...

    试谈网站的站点操作(ppt-20页).ppt

    - **打开站点**:使用【站点】|【管理站点】命令,从已有的站点列表中选择并打开。 - **复制站点**:用于创建结构相似的多个站点,提高效率。在【管理站点】对话框中选择站点并点击【复制】。 - **编辑站点**:...

    试谈网站的站点操作.pptx

    在Dreamweaver中,站点提供了组织和管理Web文档、上传文件到Web服务器、跟踪和维护文件的一系列功能。 首先,我们来讨论如何创建本地站点。创建本地站点是定义Dreamweaver站点的第一步,这需要在本地计算机上创建一...

    2022年试谈网站的站点操作(共19张PPT).pptx

    网站的站点操作是Web开发中的重要环节,它涉及到网站文件的组织、管理和发布。站点是Web项目的本地或远程存储区域,通常由本地根文件夹、远程文件夹和测试服务器文件夹三部分组成。本地根文件夹是开发人员在本地...

    浅谈web项目读取classpath路径下面的文件

    浅谈web项目读取classpath路径下面的文件 本文主要介绍了web项目读取classpath路径下面的文件,涵盖了两种类型的web项目:普通的web项目和内嵌web容器。普通的web项目使用 Tomcat 容器,特点是压缩包随着容器的启动...

    文件夹

    综上所述,"portfolio-main"文件夹内的CSS文件可能包含了实现一个有吸引力且功能丰富的在线作品集所需的所有样式规则和技术,这体现了CSS在构建现代Web界面中的强大作用。通过深入学习和熟练掌握这些CSS知识点,...

    搭建WEB环境和初始了解jsp

    解压到指定目录后,主要的文件夹包括: - `/lib`:存放Tomcat运行所需的JAR文件。 - `/conf`:存储服务器配置文件,如`server.xml`。 - `/webapps`:默认的Web应用程序部署目录。 - `/work`:存储由JSP生成的...

    浅谈java项目与javaweb项目导入jar包的区别

    因此,在JavaWeb项目中,需要将JAR包导入到WEB-INF下的lib文件夹中,以便服务器可以加载JAR包。如果将JAR包导入到User Library中,那么服务器将无法加载JAR包。 结论 本文对Java项目和JavaWeb项目导入JAR包的区别...

    MyEclipse+Flex+Blzeds入门浅谈.doc

    - **Content Folder**:指定编译后的容器目录,blazeds.war 文件将发布到该目录下的 WEB-INF/flex 文件夹。 - **Output Folder**:Flex 编译后的 SWF 和 HTML 文件存放路径,一般设为 `WebContent/bin`。 - **添加...

    Windows Phone 7 开发31日谈

    根据提供的文件信息,这里将详细解释“Windows Phone 7 开发31日谈”系列文章中的知识点,内容主要包括Windows Phone 7开发的基础知识、项目结构、页面导航、开发工具的使用等。 首先,文档开头提到了Silverlight的...

    Eric+meyerq1567谈CSS

    《Eric Meyer谈CSS》是一份深入探讨CSS技术的资源包,由知名前端开发者Eric Meyer主讲。这个资源包的独特之处在于它将理论知识与实践项目相结合,每章内容都配有相应的项目文件夹,使得学习者可以一边学习一边动手...

    小谈c#数据库存取图片的方式.docx

    这种方式下,图片本身存储在服务器的某个文件夹中,数据库中只存储图片的路径信息。当用户请求图片时,通过读取数据库中的路径,将图片内容发送给客户端。以下是一个简单的示例: 1. **读取图片**: 在前端页面中...

    structs入门经验谈

    ### Struts 入门经验谈 #### 概述 本文旨在为初学者提供关于 Struts 的入门级指导,尤其适用于 J2EE 开发者。Struts 是一款基于 Model-View-Controller (MVC) 设计模式的开源框架,用于简化 Java Web 应用程序的...

    浅谈Cordova优缺点与环境部署.docx

    3. 创建工程文件夹:创建一个新的文件夹作为 Cordova 项目的根目录。 4. 添加平台支持:使用 `cordova platform add android` 命令添加 android 平台支持。 5. 添加插件支持:使用 `cordova plugin add` 命令添加...

    cos应用浅谈

    这里提到的“cos应用浅谈”很可能是讨论如何在实际项目中使用云对象存储服务,特别是针对开发者如何集成和操作这一服务。博主Cainwise在ITEYE博客上的文章可能详细介绍了如何利用cos进行数据存储、访问以及可能涉及...

Global site tag (gtag.js) - Google Analytics