当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP文件上传原理分析及实现实例

ASP
asp #include命令
推荐下天枫常用ASP函数封装,推荐大家使用
asp最简单最实用的计数器
用asp实现的iframe批量替换工具
ASPWebPack 代码 提供下载
asp分页生成html的程序脚本代码
比较不错的asp单表单字段多条件查询
asp下用replace非正则实现代码运行功能的代码
UpdatePanel触发javascript脚本的方法附代码
生成EAN13标准的条形码的ASP代码实例
asp空间奸商查询系统
ASPWebPack(整站文件备份系统) v1.0.2 黑客也用
ASP+FSO可视化目录编历(可增、删、改)下载
提高ASP效率的五大技巧
ASP生成随机字符串(数字+大小写字母)的代码
ASP下存储过程编写入门全接触
利用 cache 做对比静态页的网页技术
ASP生成静态文件编码为UTF-8格式的HTML文件
ASP下的两个防止SQL注入式攻击的Function
asp下的风讯用的SQL通用防注入模块提供了

ASP文件上传原理分析及实现实例


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

摘要:在基于/的应用环境中,上传各种类型的文件一直是困扰用户文件管理应用的难题之一。在HTTP中上传文件有三种机制:RFC1867,PUT和WebDAV。常用的实现方法是利用在RFC1867中引入的一个新类型:File以及ADO Stream对象。本文对上述上传方法及实现原理作了论述,并给出了具体解决实例。

  ASP FILE对象

  当前,基于/模式的应用比较流行。当用户需要将文件传输到上时,常用方法之一是运行FTP并将每个用户的FTP默认目录设为用户的Web主目录,这样用户就能运行FTP客户程序并上传文件到指定的 Web目录。这就要求用户必须懂得如何使用FTP客户程序。因此,这种解决方案仅对熟悉FTP且富有经验的用户来说是可行的。 如果我们能把文件上传功能与Web集成,使用户仅用Web就能完成上传任务,这对于他们来说将是非常方便的。但是,一直以来,由于File System Object的仅能传送文本文件的局限,所以ASP最大的难题就是文件上传问题。下面介绍的就是如何在基于HTTP协议的网页中实现文件的上传。

  一.通过HTTP上传的三种机制

  通过HTTP上传有三种机制:RFC1867, PUT 和 WebDAV。

  PUT 是在HTTP 1.1引入了一个新的HTTP动词。当web收到一个HTTP PUT和对象名字,它将会验证用户,接收HTTP流的内容,并把它直接存入web。由于这可能会对一个web站点造成破坏,并且还会失去HTTP最大的优势:可编程性。在PUT的情况下,自己处理请求:没有空间让CGI或者ASP应用程序介入。唯一让你的应用程序捕获PUT的方法是在低层操作,ISAPI过滤层。由于相应的原因,PUT的应用很有限。

  而WebDAV允许web内容的分布式认证与翻译。它引入了几种新的HTTP动词,允许通过HTTP上传,锁定/解锁,登记/检验web内容。Office 2000中的"Save to web" 就是通过WebDAV来实现的。如果你所感兴趣的一切都是上传内容,WebDAV应用得非常出色,它解决了很多问题。 然而,如果你需要在你的web应用程序里面上传文件,WebDAV对你就毫无用处可言。象HTTP PUT一样,那些WebDAV的动词是被解释的,而不是web应用程序。你需要工作在ISAPI过滤层来访问WebDAV的这些动词,并在你的应用程序中解释内容。

  RFC1867 (http://www.ietf.org/rfc/rfc1867.txt) 最终被W3C在HTML3.2中接受前,是作为一种建议标准。它是一种非常简单但是功能很强大的想法:在表单字段中定义一个新类型。

<INPUT TYPE="FILE">



  并且在表单本身加入了不同的编码方案,不再使用典型的:

<FORM ACTION="formproc.asp" METHOD="POST">



  而是使用:

<FORM ACTION="formproc.asp" METHOD="POST" ENCTYPE="multipart/form-data">