用ASP技術實現在WEB網頁上瀏覽目錄及檔案

來源:互聯網
上載者:User
web|網頁 ASP技術實現在WEB網頁上瀏覽目錄及檔案
周仰平
摘要  目前在許多單位裡,象WORD、EXCEL或WPS該類文檔檔案已成為重要的資料資訊資源,在INTRANET WEB平台上如何高效率地管理這些資訊資源是一個需要解決的問題。本文是利用ASP技術開發一個基於WEB的應用程式,實現在WEB頁面上瀏覽目錄檔案,很輕易地做到諸如WORD、EXCEL和WPS等文檔檔案的查閱和下載,大大地減少資訊維護的工作量。
關鍵詞  ASP  WEB  文檔檔案
  
前言:在INTRANET平台上,客戶用WEB瀏覽器從伺服器下載過來的資訊是以HTML標記構成的頁面,也就是平常所說的網頁,頁面一般分為兩類,一類是簡單的靜止不變的頁面,包括文字、表格和靜態映像等資訊,這種頁面可通過編寫HTML標記組成的文字檔或採用頁面製作工具如FRONTPAGE軟體來實現;另一類是動態具有互動性和智能化的頁面,這類頁面實現起來比較複雜,需要將HTML標記、ACTIVEX控制項及基於用戶端和服務端的指令碼語言(如VBScript、JAVAScript)組合在一起構成WEB應用程式,WEB 程式經過服務端和客戶機運行處理才得到頁面。製作頁面雖然有專用的頁面製作工具來做,但是,要完成頁面製作需掌握一定的專業知識,如HTML標記語言,如果要製作動態有互動功能的頁面,要求就更高了,需要專業人員才能做到。但是,目前在許多企事業單位中,資料資訊的表示形式許多是文檔檔案,如WORD、EXCEL、WPS和TXT等文檔,這些文檔檔案已成為重要的資料資訊資源,各部門之間的資料共用也是通過查詢和拷貝彼此的文檔檔案來實現的。如果文檔檔案不作任何轉換,就能在WEB瀏覽器中被查詢和下載,那麼資訊處理的效率將會提高,大大地減少資訊維護的工作量。
本文是運用ASP技術實現在WEB頁面瀏覽檔案夾及檔案,通過超串連功能查看相關的ACTIVEX文檔資訊,其功能類似於FTP服務,但比FTP服務效能更好,一、介面更友好,同WEB頁面無縫地串連;二、容易控制,安全性好,可以做到該需要查看的文檔才顯示在頁面上,不該看的文檔不顯示。
二、ASP 技術及其對象
從IIS3.0開始,MICROSOFT推出了ACTIVE SERVER PAGES,既ASP技術,ASP能將HTML頁面、指令碼語言(VBScript、JAVAScript)和ACTIVEX控制項有機地組合起來,建立具有動態、互動、高效率的頁面和基於WEB資料庫的功能強大的伺服器應用程式。
ASP還有一個特點是其擁有功能強大的內建對象,對象之中又有很多的方法和屬性。在用ASP開發WEB應用程式時,能夠調用其對象及其方法,不但能提高編程效率,而且程式編碼更最佳化。
1、ASP包括了六個內建對象:
   Request  對象    是從用戶端取得資訊
   Response 對象    將資訊送給用戶端
   Session  對象     儲存在一個Session內的使用者資訊
   Application對象   在一個ASP-Application內讓不同的用戶端共用資訊
   Server   對象     提供一些服務端使用的方法。在本文的ASP程式中運用了該對象的      幾個方法,在後面將對其作具體地說明。
   Objectcontext對象  可以配合Microsoft Transaction Server進行分散式交易處理
2、Server對象的重要方法
   Createobject方法    Createobject方法用於建立登入到伺服器上的ACTIVEX組件變數執行個體。比如在ASP程式中想要瀏覽檔案夾及檔案,必須先用Createobject方法建立FileSystemObject對象的變數執行個體fs,然後調用物件變數fs的方法以擷取檔案夾(folder)及檔案(file),下面是擷取檔案夾為 /dcw 的Folder對象的ASP代碼:
            ‘先建立FileSystemObject
             set fs=server.Createobject(“scripting.FileSystemobject”)
            ‘擷取 /dcw檔案夾的實際路徑
             Fullpath=Server.mapPath(“/dcw”)
            ‘建立 /dcw檔案夾所對應的 Folder對象
            set fd=fs.getFolder(fullpath)

MapPath方法     轉換Web Server 虛擬路徑為伺服器端實際路徑。如在IIS Web伺服器上假設有一實際路徑為C:\財務部,在建立Web 虛擬路徑時取名為 dcw,書寫格式為 /dcw,事實上 Server.MapPath(“/dcw”)就是它的實際路徑 C:\財務部。一般地,在 Web應用中瀏覽網頁時使用的網址就是虛擬路徑,在檔案存取過程中使用的是實際路徑,如前面提到的 set fd=fs.getfolder(fullpath)語句裡,fullpath就表示為實際路徑
URLEncode 方法  根據URL編碼原則,將URL 中的特殊字元編碼為字串
HtmlEncode方法  使用Htmlencode方法編碼為 ASCII形式的Html檔案
  
三、實現過程 
用戶端向服務端傳送請求資訊
   客戶向服務端傳送的請求資訊是一個ASP檔案Listf.asp和三個參數in_folder,out_file,prompt。
In_folder 表示為要瀏覽的檔案夾
Out_file   表示退出返回到的頁面
Prompt    表示在列出檔案夾的頁面上的提示資訊
以瀏覽 “C:\財務部”檔案夾資訊為例,其WEB虛擬目錄為“/dcw”,程式退出返回到首頁,首頁的虛擬路徑可表示為“/”,提示資訊為“財務資料資訊”。在 Web 程式中加入下面一條語句就可以查看“c:\財務部”檔案夾下的所有子檔案夾及檔案。
<a Href=listf.asp?in_folder=/dcw&out_file=/&prompt=財務資料資訊>財務檔案資訊</a>
‘檔案開始
<HTML><BODY bgcolor=”#c0c0c0”>
<%
  
‘2、擷取參數資訊
Folder=Request(“Folder”)
If  Folder=”” Then
       In_folder=request(“in_folder”)
       Out_file=request(“out_file”)
       Prompt=request(“prompt”)
    If  in_folder<>”” and out_file<>’’ then
          Session(“in_folder”)=in_folder
          Session(“out_file”)=out_file
   Session(“prompt”)=prompt
    End if
    Folder=session(“in_folder”)
    Prompt=session(“prompt”)
‘ 輸出檔案夾名和提示資訊
response.write “<H2 align=””” & “center” & “””>” & prompt & “系列檔案目錄<HR></H2>”
else
subfolder=folder
folder=session(“in_folder”) & folder
‘輸出檔案夾名和提示資訊
response.write “<H2 align=””” & “center” & “””>” & mid(ucase(replace(subfolder,”/”,”_”)),2) & “<HR></H2>”
end if
AspPath=Request.serverVariables(“PATH_INFO”)
‘3、建立檔案夾物件變數執行個體 fd
set  fs= Server.createObject(“Scripting.filesystemobject”)
set  fd= fs.getfolder(Server.MapPath(folder))
‘4、構造超串連函數



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.