`
erikchang
  • 浏览: 49442 次
  • 性别: 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的过程吧。 我对这个比较感兴趣。

相关推荐

    通信与网络中的浅谈Web服务的个人网页资源管理组件设计

    最简单的办法是使用IE或Netscape的“另存为”功能,把这些网页保存在个人计算机的文件夹中。近年来,也出现了一些好的工具帮助收集整理网页。例如,利用软件“网海拾贝”可以将网页收藏到本地数据库中,软件“Webzip...

    浅谈Web服务的个人网页资源管理组件设计

    简单的办法是使用IE或Netscape的“另存为”功能,把这些网页保存在个人计算机的文件夹中。近年来,也出现了一些好的工具帮助收集整理网页。例如,利用软件“网海拾贝”可以将网页收藏到本地数据库中,软件“Webzip”...

    asp.net知识库

    也谈 ASP.NET 1.1 中 QueryString 的安全获取写法 ASP.NET运行模式:PageHandlerFactory 利用搜索引擎引用来高亮页面关键字 网站首页的自动语言切换 应用系统的多语言支持 (一) 应用系统的多语言支持 (二) 自动...

    浅谈webpack打包过程中因为图片的路径导致的问题

    最近在制作一个自己的个人博客的时候遇到这么一个问题, 在CSS中使用了相对路径来充当背景图片,...发现dist文件夹中出现了我们想要打包生成的一个文件build.js, 同时还额外的生成了一个图片文件, 这个文件就是刚刚我们在

    浅谈Servlet转发到JSP页面的路径问题(必看)

    在Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同一个文件夹下时,则会出现路径混乱问题。 2. 绝对路径概念 相对于...

    java文集

    struts通用Exception处理 Grails中默认数据库HSQLDB点滴 从request获取各种路径总结 DIV实现的表格自动伸张与收缩 java 邮件服务 从Hibernate的映射谈编程思想 COBOL 式死亡,Java 是否真的...

    浅谈react+es6+webpack的基础配置

    参数-g表示全局安装webpack,你在cmd命令中哪个文件夹下都可以使用webpack的命令,如果不加-g的话,是只可以在你安装webpack的目录下使用webpack这个命令 webpack 也有一个 web 服务器 npm install webpack-dev-...

    JavaScript-Set-Up:Web开发人员示例,技巧等

    看一下里面的文件 整理和测试 JavaScript棉绒 遵循良好的 使用eslint或jslint 使用或Typescript确保对象是您的想法。 JavaScript测试 与或Ava或摩卡/柴 HTML测试 基本语法或 灯塔的用户体验 表现 使用随机UI测试 ...

    浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法

    1.vue中的vue-cli打包 最近在用vue写一个小项目,其中就用到了vue脚手架工具vue-cli,在测试打包后能否运行过程中遇到不少问题,而且在网上这些问题答案都不太好找,废话不多说,进入正题。 a.执行打包命令:npm run...

    static-weather:这个静态天气应用程序的造型工作

    在浏览器中运行: cd in root directiony: node scripts/web-server.js应该在 :8000 导航到 www/index.html 上启动本地服务器如果你想在你的 iphone 上运行它:请参阅我的配置文件使用此处找到的用于 phonegap 的...

    精通Odoo开发和使用

    5.2.1 模块文件夹管理 32 5.3 一个简单的演示模块 33 5.3.1 controllers 33 5.3.2 views 33 5.3.3 models 35 5.3.4 security 37 5.3.5 美化网页 38 5.4 加分项: 通过 pgadmin3 来查看数据库 39 5.4.1 安装 39 5.4.2 ...

    c#学习笔记.txt

    很多人觉得它应该像C或者C++,但事实上它更像是java的一个clone,所以作为入门,读一下清华大学出版社出版的《Java 语言与面向对象程序设计》可能会对你有所帮助。本文假定你具备一切学习此语言所需的知识,没有也不...

    网络安全及应对策略(全文).docx

    1常见的计算机XX络安全问题 1.1 XX络欺骗一些XX络诈骗往往利用欺骗性的电子邮件和伪造的Web站点来进行诈骗活动,受骗者往往会泄露自己的财务数据,如银行卡号、浅谈计算机XX络安全及应对策略文/杨萍随着计算机XX络...

    .net全诚外卖通之外卖预订合众版 V3.0.rar

    系统还嵌入了收藏功能,会员可以把有用的商家和资讯信息添加到QQ标签、百度收藏夹....,上面谈到的分销模式更是平台运作宣传和 推广的得力手段!!!  15、系统的扩展性强:全诚外卖通以外卖为重点推出该系统,...

    .net全诚外卖通之预订版 V2.0.rar

    系统还嵌入了收藏功能,会员可以把有用的商家和资讯信息添加到QQ标签、百度收藏夹....,上面谈到的分销模式更是平台运作宣传和 推广的得力手段!!!  15、系统的扩展性强:全诚外卖通以外卖为重点推出该系统,...

    .net全诚外卖订叫餐(订餐)系统 V1.0.rar

    系统还嵌入了收藏功能,会员可以把有用的商家和资讯信息添加到QQ标签、百度收藏夹....,上面谈到的分销模式更是平台运作宣传和 推广的得力手段!!!  15、系统的扩展性强:全诚外卖通以外卖为重点推出该系统,...

Global site tag (gtag.js) - Google Analytics