HOWTO:在 ASP 中读取和显示二进制数据

文章翻译 文章翻译
文章编号: 193998 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文介绍了如何使用 Active Server Pages(动态服务器页)读取和显示二进制数据。

许多开发人员都很欣赏从 Internet Explorer 中用 Scripting.FileSystemObject 打开 ASCII 文件然后在 Microsoft Word 或 Microsoft Excel 中显示其内容这一方式带来的方便性。但是在目前,ASP 未直接提供任何类似的对象用以读取包含二进制数据的文件,如带有宏的 Excel 工作表、Adobe Acrobat (.pdf) 文件、.gif 图像或任何包含二进制数据的其他文件。不过,ASP 开发人员可以编写一个添加此功能的自定义业务对象或组件。

更多信息

“部分 I”提供了接收并接着使用合适的 MIME 类型显示二进制文件的 ASP 代码,“部分 II”显示了如何创建 Visual Basic 5.0(或更新版本)ActiveX DLL 组件,以扩展 ASP 读取二进制数据的能力。

部分 I:打开包含有宏的 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"。

部分 II:Visual Basic 5.0 ActiveX DLL (MyObject.BinRead)

要创建执行二进制读功能的组件,请执行下列步骤:
  1. 在 Visual Basic 5.0 或更新版本中新建 ActiveX DLL 项目。
  2. 将此项目重命名为 MyObject。
  3. 将类模块重命名为 BinRead。
  4. 将以下代码剪切并粘贴到类模块的“General Declarations”部分:
       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. 在“文件”菜单中单击“Make MyObject.dll”。
如果 Web 服务器在与您创建此组件时所在的计算机不同的另一计算机上,则您需要将此组件复制到 Web 服务器并使用 RegSvr32 注册它。

要将“部分 I”中创建的文件合并到具有文本或其他格式的另一个 ASP 页上,请使用服务器端包含语句。

属性

文章编号: 193998 - 最后修改: 2004年2月20日 - 修订: 2.0
这篇文章中的信息适用于:
  • Microsoft Visual Basic 5.0 专业版
  • Microsoft Visual Basic 6.0 专业版
  • Microsoft Visual Basic 5.0 企业版
  • Microsoft Visual Basic 6.0 企业版
  • Microsoft Active Server Pages 4.0
关键字:?
kbhowto kbscript kbfso kbcode 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