当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用VB6做一个简单的文件上传组件(一)

ASP
WEB打印设置解决方案四
截取固定长度字符串显示在页面
如何得到上一次插入记录后自动产生的ID
组件:Adodb.Stream 浅释
一个统计当前在线用户的解决方案
实例演练ASP+XML编程
IP地址分段计算
身份证验证代码函数
简单购物车教程
ASP分页函数
asp中对ip进行过滤限制函数
不用Golobal和session实现在线人数统计
ASP实现结构化列举并查看某路径下所有文件
常用Response对象的使用祥解
在ASP网站设计中表单验证
动网论坛代码分析
轻松实现将上传图片到数据库
读取数据库中数据到数组的类
网址和邮件地址的转换函数
ASP编码优化

ASP 中的 用VB6做一个简单的文件上传组件(一)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 199 ::
收藏到网摘: n/a

  最近在单位做的一个项目里需要有文件上传的功能,正好手头一本书的附赠光盘里有一个上传组件,心中大喜。可惜随之便发现这是一个试用版,不给钱就只能用50次,太小气了!!好在头头催得不紧,时间充裕,干脆自己试着做一个,既可长经验值,又能长成就感,不试白不试!以下介绍的便是俺折腾了两天半捣鼓出来的一个只能说是雏形的玩意,区区三十行代码,大侠们不要笑俺哦,这只是写给与俺一样好奇心强但经验值低的弟兄们看的。
    文件上载所需的第一步当然是进入一个有“file”表单元素的页面,具体就不说了,大家都知道。但是若想做一个能够接受该文件并且将其保存到服务器硬盘上的组件,必须知道所提交的原始数据的怎么一个模样才行。做到这一点并不难:
    <%
      Dim FormData,FormSize
      FormSize=Request.TotalBytes
      FormData=Request.BinaryRead(FormSize)
      Response.BinaryWrite FormData
    %>
    因为需要读取的是前一个页面提交来的原始字节数据,因此不能使用Request.Form()方法,必须使用BinaryRead方法,并且一旦使用了这个方法,就不能再在同一个页面中使用Form()方法了,反之亦然。基于同样的道理,向页面输出时也必须使用BinaryWrite方法,不过这并不妨碍你继续使用Response.Write方法。
    在下面的描述中假设浏览者选择上传的文件是一个GIF图片,你会发现这段代码运行的结果并不是在浏览器上显示出这幅图片,而只是输出了一堆基本上是乱七八糟的字符:

-----------------------------7ce20d227c0232
Content-Disposition: form-data; name="file"; filename="C:\mypic.gif"
Content-Type: image/gif

GIF89a    垐??!?倇挌7昳