您的位置:首页技术开发ASP技巧 → 如何在Web页面中集成文件上传功能

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

时间:2004/11/7 4:04:00来源:本站整理作者:蓝点我要评论(0)

当前,个人主页制作非常流行。当用户开发好自己的页面时,需要将文件传输到服务器上,解决这个问题的方法之一

是运行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" %>

错误: 拒绝访问.



<% else %>





上传文件







上传文件






action="http://<%= Request.ServerVariables("SERVER_NAME") %>

/myweb/cpshost.dll?PUBLISH">

/myweb/<%=

Request.ServerVariables("LOGON_USER") %>"

>

请选择要上传的文件:


请选择要上传的文件:


请选择要上传的文件:













<% 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控件的个数。



 

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 VB.NET 2005编写定时关 Jquery get/post下乱码解决方法 前台gbk gb如何使用数据绑定控件显示数据ASP脚本循环语句ASP怎么提速

人气排行 轻松解决"Server Application Error"和iis"一起学习DataGridView调整列宽用ASP随机生成文件名的函数Jquery get/post下乱码解决方法 前台gbk gbODBC Drivers错误80004005的解决办法返回UPDATE SQL语句所影响的行数的方法用Javascript隐藏超级链接的真实地址两个不同数据库表的分页显示解决方案