当前位置: 首页 > 图文教程 > 网络编程 > ASP > 如何在Web页面中集成文件上传功能

ASP
asp生成三维饼图的函数
ASP下的简洁的多重查询的方法与函数 真不错
发一个ASP的ADODB类代码
A利用ASP小偷和Google实现在线翻译功能的代码
ASP类型网站结合动网论坛会员的方法
Asp下实现多表单域无组件文件上传的实例
asp制作中常用到的函数库集合
易心asp分页类 v1.0
asp中xmlhttp组件发包
检测是否为数字类型的asp代码
可以获得文件的文件名的asp函数
用asp实现访问远程计算机上MDB access数据库文件的方法
用ASP实现写IIS日志的代码
asp在IE浏览器中下载服务端上的各类文件的实现方法
asp汉字中文图片验证码的实现代码
asp WAP获取手机终端信息的一段代码
asp取得数组中的最大值的方法
用asp实现的截取指定格式字符串的代码
asp jmail发邮件 详细解析
ASP编程中连接数据库和数据库操作的常用代码

ASP 中的 如何在Web页面中集成文件上传功能


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

  当前,个人主页制作非常流行。当用户开发好自己的页面时,需要将文件传输到服务器上,解决这个问题的方法之一
是运行FTP服务器并将每个用户的FTP默认目录设为用户的Web主目录,这样用户就能运行FTP客户程序并上传文件到指定的
Web目录。由于Windows NT 和 Windows98均不提供直接的基于窗口形式的FTP客户程序,用户必须懂得如何使用基于命令行
的FTP客户,或掌握一种新的基于窗口形式的FTP客户程序。因此,这种解决方案仅对熟悉FTP且富有经验的用户来说是可行
的。 如果我们能把文件上传功能与Web集成,使用户仅用Web浏览器就能完成上传任务,这对于他们来说将是非常方便的。
下面就结合笔者的实践经验对这一方案作一简要介绍。
  本方案的软件配置如下:客户机操作系统为 Windows98 ; 服务器操作系统为Windows NT Server;Web服务器为
IIS4.0。为使IIS能够接收上传的文件, 还必须安装Posting Acceptor组件,该组件位于NT 4.0 Option Pack 的 Site
Server Express中。Posting Acceptor组件的ISAPI扩展函数CPSHOST.DLL直接处理文件上传,目的URL被映射、解析为服务
器上的物理磁盘位置。
具体应用见如下网页代码:



<% Response.Buffer = TRUE %>
<% if (Len(Request.ServerVariables("LOGON_USER")) = 0 ) then %>
<% Response.Status = "401 Unauthorized" %>
<HTML><BODY><B>错误: 拒绝访问.</B><P></BODY></HTML>
<% else %>
<html>
<head>
<title>上传文件</title>
</head>
<body>

<h1 align="center">上传文件</h1>

<form method="post" enctype="multipart/form-data"
action="http://<%= Request.ServerVariables("SERVER_NAME") %>
/myweb/cpshost.dll?PUBLISH">
<input name="TargetURL" type="hidden" value="http://<%=
Request.ServerVariables("SERVER_NAME") %>/myweb/<%=
Request.ServerVariables("LOGON_USER") %>"
>
请选择要上传的文件: <input name="my_file" type="file"><br>
请选择要上传的文件: <input name="my_file" type="file"><br>
请选择要上传的文件: <input name="my_file" type="file"><br>
<br>
<input type="submit" name="cmdup" value="上 传">
</form>
</body>
</html>
<% end if %>



  上述代码以ASP文件的形式存放在Web网站宿主目录下myweb目录中, 用户只需用浏览器请求该文件即可。
  需要注意的几点是:
  ⒈Request.ServerVariables("LOGON_USER")返回登录到Windows NT域的用户名,在本例中,如果用户名为空,则显示
拒绝访问页面;不为空,才显示正常上传页面。
  ⒉在安装Posting Acceptor组件后,CPSHOST.DLL文件位于Web服务器宿主目录下scripts目录中,可以把该文件拷贝到
自己的目录中使用。
  ⒊在表单中,enctype="multipart/form-data" 这一项不能少,否则不能正常上传。
  ⒋表单控件TargetURL的名称(name属性)不能变。type="hidden"使该控件在页面中不显示。value属性确定上传文件在
服务器中存放的路径, 可以根据实际情况调整。在本例中,文件上传路径是myweb目录(也就是本ASP文件和CPSHOST.DLL文
件存放目录)下与登录用户名同名的子目录,并且该目录权限设为可写。
  ⒌my_file控件类型为"file",在浏览器中显示的是一个文本框后带一个"浏览"按钮。当用户单击"浏览"按钮时,将弹
出一个标准的选择文件对话框,供用户选择要上传的文件。可以根据实际需要增减my_file控件的个数。