程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> 如何在Web頁面中集成文件上傳功能

如何在Web頁面中集成文件上傳功能

編輯:ASP技巧

當前,個人主頁制作非常流行。當用戶開發好自己的頁面時,需要將文件傳輸到服務器上,解決這個問題的方法之一
是運行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控件的個數。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved