在 ASP 中读取和显示二进制数据
来源:互联网 发布:分水岭分割算法 博客 编辑:程序博客网 时间:2024/04/30 01:52
概要
本文介绍了如何使用 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
本文介绍了如何使用 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
- 在 ASP 中读取和显示二进制数据
- asp.net 从数据库中读取而二进制数据图片,展示在Image中
- C#从数据库中读取二进制数据,并显示图片
- asp中如何显示数据中二进制值的图片
- 二进制流的存储、读取和显示(在浏览器)
- ASP.net 从数据库中读取html格式的数据并显示在页面中
- Oracle中如何读取和写入二进制数据
- ASP.NET 用读取二进制代码的方法在页面上显示指定图片。
- ASP.Net 照片数据(二进制数据)读取和写入简单举例
- asp.net读取Excel表并显示在页面中
- 如何在PB和ASP中读取EXCEL电子表格的数据(收藏)
- 在RMS中存储和读取数据
- 在RMS中存储和读取数据
- 从sqlite3中读取二进制数据
- C# 读取DataSet数据并显示在ListView控件中
- C#读取access表,并把数据显示在gridcontrol中
- C#读取Dataset数据并显示在ListView控件中
- 从txt文件读取数据显示在文本框中
- 深入解析Java的新特性assertion
- 通过java.net.URL类抓取某个网页的内容 选择自 cqq 的 Blog
- Windows Rundll 和 Rundll32 接口
- UNIX mAn pAges:pty(7)
- Microsoft Windows 2000 应用程序兼容性
- 在 ASP 中读取和显示二进制数据
- CSDN Oracle杂志正式启动
- 对事件与委托的理解(2) 引发事件
- WindowsXP 巧妙搜索文件
- 40种网页常用小技巧(javascript一 二)
- 使用公共语言运行库强制代码访问权
- Telnet的攻击
- 人生的35个好习惯
- XML快速入门