HOWTO:在 ASP 中讀取與顯示二進位資料

文章翻譯 文章翻譯
文章編號: 193998 - 檢視此文章適用的產品。
本文曾發行於 CHT193998
全部展開 | 全部摺疊

在此頁中

結論

本文示範如何使用 Active Server Page 讀取與顯示二進位資料。

對於可以輕鬆的使用 Scripting.FileSystemObject 以開啟 ASCII 檔,然後從 Internet Explorer 內的 Microsoft Word 或 Microsoft Excel 中顯示其內容,有許多開發人員給予正面的評價。在目前,ASP 並沒有直接提供任何足以相比的物件,以便用來讀取包含二進位資料的檔案,例如包含巨集的 Excel 工作表、Adobe Acrobat (.pdf) 檔案、.gif 影像檔,或是任何其他包含二進位資料的檔案。然而,ASP 的開發人員可以撰寫自訂的商用物件或元件,以加入此功能。

其他相關資訊

第一節所提供的 ASP 程式碼可以使用適當的 MIME 類型,接收二進位檔,然後再顯示出來,而第二節則示範如何建立可擴充 ASP 功能的 Visual Basic 5.0 (或更新版本) ActiveX DLL 元件,以讀取二進位資料。

第一節:可以開啟包含巨集的 Excel 工作表的 ASP 範例



   <%
   Response.buffer = TRUE
   Response.ContentType = "application/x-msexcel"

   Dim vntStream

   Set oMyObject = Server.CreateObject("MyObject.BinRead")
   vntStream = oMyObject.readBinFile("c:\temp\tempxls.xls")

   Response.BinaryWrite(vntStream)

   Set oMyObject = Nothing

   Response.End
   %>

注意 :如果是 Acrobat 的檔案,請使用 Response.ContentType = "application/pdf" 來變更 MIME 類型。如果是 .gif 影像檔,請使用 Response.ContentType = "image/gif"。

第二節:Visual Basic 5.0 ActiveX DLL (MyObject.BinRead)



若要建立用來讀取二進位資料的元件,請執行下列步驟:
  1. 在 Visual Basic 5.0 或更新版本中建立新的 ActiveX DLL 專案。
  2. 將此專案重新命名為 MyObject。
  3. 將類別模組重新命名為 BinRead。
  4. 將下面程式碼剪下並貼到類別模組的 [一般宣告] 區段:
       Function readBinFile(ByVal bfilename As String) As Variant
              Dim fl As Long
              Dim FileNum As Long
              Dim binbyte() As Byte
              Dim binfilestr As String
    
              On Error GoTo errHandler
              
              FileNum = FreeFile
              Open bfilename For Binary Access Read As #FileNum
    
              fl = FileLen(bfilename)
              ReDim binbyte(fl)
    
              Get #FileNum, , binbyte
    
              Close #FileNum
    
              readBinFile = binbyte
              Exit Function
    
          errHandler:
              Exit Function
          End Function
  5. 儲存此專案。
  6. 在 [檔案] 功能表上按一下 [製成 MyObject.dll]。
如果 Web 伺服器所在的電腦和建立此元件所用的電腦不同,您就需要將此元件複製到 Web 伺服器上,並使用 RegSvr32 來註冊此元件。

若要將在第一節中所建立的檔案併入另一個具有文字或其他格式的 ASP 頁面,請使用伺服器端的 include 陳述式。

?考

本文件是根據 Microsoft Knowledgebase 文件編號 Q193998 翻譯的. 若要參考原始英文文件內容, 請至以下網址:

http://support.microsoft.com/support/kb/articles/Q193/9/98.asp

屬性

文章編號: 193998 - 上次校閱: 2004年1月23日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Active Server Pages 4.0
關鍵字:?
kbhowto kbasp100 kbasp400 kbvisid600 kbscript kbvbp500 kbgrpdsasp kbfso kbcode kbdsi kbcomt KB193998
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com