锁定老帖子 主题:谈一下web中选择文件夹
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (8)
|
|
---|---|
作者 | 正文 |
发表时间:2009-07-07
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,会提示注册成功,然后就可以在网页中使用了! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-10-15
lz说说开发ocx的过程吧。 我对这个比较感兴趣。
|
|
返回顶楼 | |
发表时间:2009-10-15
可以详细介绍一下 js 兼容性 和浏览器 版本 的兼容性么?
|
|
返回顶楼 | |
发表时间:2009-10-17
zzsczz 写道 可以详细介绍一下 js 兼容性 和浏览器 版本 的兼容性么?
OCX对浏览器到版本没有太多要求,调用var obj=document.getElementById("pathOcx"); 这里使用的是IE的getElementById方法,在其他的浏览器中可以使用getElementsByTag,同样可以! |
|
返回顶楼 | |
发表时间:2009-11-05
erikchang 写道
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,会提示注册成功,然后就可以在网页中使用了!
|
|
返回顶楼 | |
发表时间: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可以简化开发的难度。。。。。。 |
|
返回顶楼 | |
发表时间:2010-05-17
OCX可以在用户端调用本地文件夹吗? 是需要安装OCX控件后还是怎么??
|
|
返回顶楼 | |
发表时间:2010-05-17
最后修改:2010-05-17
tpm_athrun 写道 OCX可以在用户端调用本地文件夹吗? 是需要安装OCX控件后还是怎么??
浏览服务器端就是写个server端的com呗, 想写个自己特殊的客户端browse,就写个activex. 写这东西,王道是vb. |
|
返回顶楼 | |
发表时间:2010-05-18
[quote="ray_linn浏览服务器端就是写个server端的com呗,
想写个自己特殊的客户端browse,就写个activex. 写这东西,王道是vb. 可惜VB还不怎么会! |
|
返回顶楼 | |
发表时间:2010-05-18
OCX技术在某些时候还是必须的,尤其是安全需求到一定程度,比如淘宝网站登录的密码输入就是使用了OCX技术,一般要求安全的数据输入都可以使用这个东西,因为任何浏览器都不可能记录OCX中输入的数据!
|
|
返回顶楼 | |
浏览 7189 次