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

ASP
亲密接触ASP.Net(16)
NT 下虚拟域名的实现
介绍一种效率极高的分类算法
asp+发送email
用 ASP 技术开发 WEB 调查(投票)系统 (1)
用ASP技术开发 WEB 调查(投票)系统 (2)
用ASP技术开发WEB调查(投票)系统 (3)
ASP+全新接触
ASP+上载例子
从ASP迁移至ASP+--最初的考虑(一)
从ASP迁移至ASP+--进入DataSet
将HTML表格转换为ASP+数据列表(DataList)
急不可耐了?转换其他的页面吧!
用ASP解决域名登记查询
从ASP迁移至ASP+--处理会话变量
从ASP迁移至ASP+--CustomValidator控件
从ASP迁移至ASP+--从用户那儿收集数据
展现C#(1):C#简介
展现C#(2):NGWS Runtime 基础
展现C#(3):第一个C#应用程序

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 232 ::
收藏到网摘: 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昳