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

概要
本文介绍了如何使用 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)
要创建执行二进制读功能的组件,请执行下列步骤:

在 Visual Basic 5.0 或更新版本中新建 ActiveX DLL 项目。
将此项目重命名为 MyObject。
将类模块重命名为 BinRead。
将以下代码剪切并粘贴到类模块的“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
                        
保存该项目。
在“文件”菜单中单击“Make MyObject.dll”。
如果 Web 服务器在与您创建此组件时所在的计算机不同的另一计算机上,则您需要将此组件复制到 Web 服务器并使用 RegSvr32 注册它。

要将“部分 I”中创建的文件合并到具有文本或其他格式的另一个 ASP 页上,请使用服务器端包含语句。
这篇文章中的信息适用于:
Microsoft Visual Basic Professional Edition for Windows 5.0
Microsoft Visual Basic Professional Edition for Windows 6.0
Microsoft Visual Basic Enterprise Edition for Windows 5.0
Microsoft Visual Basic Enterprise Edition for Windows 6.0
Microsoft Active Server Pages
微信扫码订阅
UP更新不错过~
关注
  • 0
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

freexploit

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值