|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
当前,个人主页制作异常流行。当用户开发好自己的页面时,需要将文件传输到服务器上,解决这个问题的方式之一 是运行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控件的个数。 返回类别: 教程 上一教程: ASP进阶教程Ⅷ:数据库版本的留言簿 下一教程: ASP OBJECT之:CLIENTCERTIFICATE 您可以阅读与"如何在WEB页面中集成文件上传功能"相关的教程: · 在WEBCLASS中使用文件上传功能 · 如何在静态页面中显示文章被阅读的次数 · 如何在生成的静态页面中显示文章被阅读的次数 · 如何在服务器端调用WINZIP命令行对上传的多个文件打包压缩 · 利用ASP技术实现文件直接上传功能 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |