如何在Web頁面中整合檔案上傳功能

2021-04-22 02:54:11 字數 1875 閱讀 5880

如何在web頁面中整合檔案上傳功能

當前,個人主頁製作非常流行。當使用者開發好自己的頁面時,需要將檔案傳輸到伺服器上,解決這個問題的方法之一是執行ftp伺服器並將每個使用者的ftp預設目錄設為使用者的http://www.biancheng88.cn/html/special/2008-11/web/" title="web" target=_blank>web主目錄,這樣使用者就能執行ftp客戶程式並上傳檔案到指定的 http://www.biancheng88.cn/html/special/2008-11/web/" title="web" target=_blank>web目錄。由於windows nt 和 windows98均不提供直接的基於視窗形式的ftp客戶程式,使用者必須懂得如何使用基於命令列的ftp客戶,或掌握一種新的基於視窗形式的ftp客戶程式。因此,這種解決方案僅對熟悉ftp且富有經驗的使用者來說是可行的。 如果我們能把檔案上傳功能與web整合,使使用者僅用http://www.biancheng88.cn/html/special/2008-11/web/" title="web" target=_blank>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 %>

<% end if %>

上述**以asp檔案的形式存放在http://www.biancheng88.cn/html/special/2008-11/web/" title="web" target=_blank>web**宿主目錄下myweb目錄中, 使用者只需用瀏覽器請求該檔案即可。

需要注意的幾點是:

⒈request.servervariables("logon_user")返回登入到windows nt域的使用者名稱,在本例中,如果使用者名為空,則顯示拒絕訪問頁面;不為空,才顯示正常上傳頁面。

⒉在安裝posting acceptor元件後,cpshost.dll檔案位於http://www.biancheng88.cn/html/special/2008-11/web/" title="web" target=_blank>web伺服器宿主目錄下scripts目錄中,可以把該檔案拷貝到自己的目錄中使用。

⒊在表單中,enctype="multipart/form-data" 這一項不能少,否則不能正常上傳。

⒋表單控制項targeturl的名稱(name屬性)不能變。type="hidden"使該控制項在頁面中不顯示。value屬性確定上傳檔案在伺服器中存放的路徑, 可以根據實際情況調整。在本例中,檔案上傳路徑是myweb目錄(也就是本asp檔案和cpshost.dll檔案存放目錄)下與登入使用者名稱同名的子目錄,並且該目錄許可權設為可寫。

⒌my_file控制項型別為"file",在瀏覽器中顯示的是乙個文字框後帶乙個"瀏覽"按鈕。當使用者單擊"瀏覽"按鈕時,將彈出乙個標準的選擇檔案對話方塊,供使用者選擇要上傳的檔案。可以根據實際需要增減my_file控制項的個數。

如何在C 中整合Lua指令碼

如何在c 中整合lua指令碼 logger virtual logger logger int n logger logger logger int setvalue int val int getvalue public int v 匯入到lua指令碼 luaclass state create ...

如何在C 中整合Lua指令碼 LuaPlus篇

如何在c 中整合lua指令碼 luaplus篇 去年我作了乙個lua指令碼的c 包裝,有許多朋友感興趣,並嘗試使用,我感到受寵若驚。事實上,我作的包裝,學習的目的比較強,它還是有許多缺陷的。為了讓朋友們少走彎路,我推薦使用luaplus作為c 的包裝。luaplus是lua的c 增強,也就是說,lu...

如何在C 中整合Lua指令碼 LuaPlus篇

去年我作了乙個lua指令碼的c 包裝,有許多朋友感興趣,並嘗試使用,我感到受寵若驚。事實上,我作的包裝,學習的目的比較強,它還是有許多缺陷的。為了讓朋友們少走彎路,我推薦使用luaplus作為c 的包裝。我將在下面說明,如何使用luaplus,以及如何更方便的讓luaplus與c 的類合作無間。1....