- 贴心猫(Imcat)
- 贴心代码
- 详情
asp服务器的ADODB.Stream(无组件上传)
发布:2014-12-12 13:00
点击833次
评论:0条
服务器的ADODB.Stream(无组件上传)
2010-02-12 11:54:35| 分类: study |举报|字号 订阅
最近我的主页无法上传附件,经多方请教,查出是服务器升级后关闭了ADODB.Stream(无组件上传),
现在该怎么办啊?如何才能打开ADODB.Stream?或者有其他的办法吗
服务器的ADODB.Stream(无组件上传) - 糟老头 - 糟老頭的地盤
下一个瑞星的“冲击波”病毒补丁,那个东西实际上就是一个ADODB.Stream的开关
补丁是叫“瑞星ADODB.Stream漏洞防范工具”
我们知道,利用无组件方式,要把上传的文件放到服务器文件夹下,就是在服务器的文件夹下创建一个
上传文件的二进制内容文件。那么我们要获取上传的文件的内容方法可以至少有两中,一是通过首先获取
上传文件的整个二进制内容,然后将整个而进制数据读取到objStream1对象中,然后将其中的文件内容部分
复制到objStream2对象中,然后再利用SaveToFile方法保存到指定文件夹下。(这种方式被大多数编程者所使用),
还有一种是先通过MID()函数来获取上传文件的二进制的文件内容部分,然后把该内容放到ObjStream对象中,
然后通过ObjStream.SaveToFile(文件路径,是否可以覆盖) 通过这个方式把二进制文件内容存放到服务器的
文件夹中(其实就是把二进制数据放到ObjStream对象中,利用该组件的ObjStream.SaveToFile功能在服务器上
创建了一个含有二进制数据的文件。)。
那么,有人会问,为什么不用ASP的文件寸取组件先在服务器上创建一个空文本然后用Write、WriteLine等方式
把二进制数据直接写到这个空文本中呢,这个就是要注意的了,我们要在服务器文件夹中创建一个二进文件,
并不是简单的把二进制数据写到一个空文本中这么一个简单的过程。所以我们必须通过一个可以在服务器上创建
二进制数据文件的组件来实现这个功能,而这个组件就是ADODB ObjStream组件。
Win2000系统:
在CMD命令行状态输入以下命令:
关闭命令:RegSvr32 /u C:\WINNT\SYSTEM32\scrrun.dll
打开命令:RegSvr32 C:\WINNT\SYSTEM32\scrrun.dll
Win2003 系统:
运行regsvr32 scrrun.dll
Win XP同上。
如果要关闭FSO,运行 regsvr32 /u scrrun.dll即可。