网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.改进 ASP 应用程序中的字符串处理.
.Connection对象的应用.
.页面延迟的两个简单方法.
.将ado方便的转化为XML文件.
.表单递交内容检测脚本-这里只接受.
.vbscript和javascript互相调用.
.用ASP实现从SQL Server导出数据到.
.remote script文档(转载自微软)(.
.Windows 2003下不注册组件用ASP发.
.利用ASP发送和接收XML数据的处理.
.ASP中取得图片宽度和高度的类(无.
.一个BBS的源代码(六).
.如何防止ASP木马在服务器上运行.
.如何编写通用的ASP防SQL注入攻击.
.WINDOWS 2000搭載ASP3.0和IIS5.0.
.XML技术上传文件.
.JavaScript在ASP中实现掩码文本框.
.用纯ASP代码实现图片上传并存.
.ASP使用MYSQL数据库全攻略.
.实现聊天室在线人员无刷新所需要.

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

发表日期:2000-10-30


当前,个人主页制作非常流行。当用户开发好自己的页面时,需要将文件传输到服务器上,解决这个问题的方法之一
是运行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控件的个数。

 
上一篇:网页加速之网页结构篇 人气:12080
下一篇:开发连接远程SQL Server 的ASP程序应注意的问题 人气:11402
浏览全部的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐