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

ASP
构造ConnectionString的方法
在asp中如何创建动态表--调用如下sp_execute
Jmail中避过smtp验证的一法
取出所有的传递参数短方法
提高ASP性能的最佳选择(二)
提高ASP性能的最佳选择(三)
提高ASP性能的最佳选择(续一)
提高ASP性能的最佳选择(续二)
提高ASP性能的最佳选择(续三)
提高ASP性能的最佳选择(续四)
一种效率极高的分类算法
不刷新页面的情况下调用远程ASP
谈两种数据库内容HTML格式的输出方法
提高ASP页面的执行效率(上)
提高ASP页面的执行效率(中)
提高ASP页面的执行效率(下)
ASP.Net中程序构架与程序代码的分离
如何用checkbox做多选删除
判断输入是否为中文的函数
将半角转换为中文的函数

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


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