本文介绍如何使用 ServerXMLHTTP
在 Active Server Pages (ASP) 中读取和显示二进制数据。
原始产品版本: Internet Information Services
原始 KB 数: 303982
总结
ServerXMLHTTP
为不同 Web 服务器之间的服务器安全 HTTP 访问提供方法和属性。 可以使用此对象通过 ASP 在这些服务器之间交换二进制数据。
详细信息
ASP 页接收二进制数据,然后使用适当的多用途 Internet 邮件扩展 (MIME) 类型显示二进制数据。 例如,对于.gif图像,请使用以下内容更改 MIME 类型:
Response.ContentType = "image/gif"
注意
对于 Adobe Acrobat 文件,请使用application/pdf
或.jpg图像。image/jpg
MIME 类型的默认行为是在 Microsoft Internet Explorer 中打开文档。 添加以下代码会提示用户保存文件或打开具有关联程序的文件:
Content-disposition: attachment; filename=fname.ext
有关详细信息,请参阅 如何为已知的 MIME 类型引发文件下载对话框。
以下步骤演示如何将 ServerXMLHTTP
.jpg文件流式传输到浏览器。 ServerXMLHTTP
通过 HTTP 从 ASP 页检索 XML 响应。 通过使用 GET,该示例发送请求而不将任何数据传输到 Web 服务器。 该示例首先通知浏览器响应是图像(image/jpg
),然后直接从 Response 对象传递响应以显示在屏幕上,从而将此响应写入浏览器的输出。
创建新的 ASP 页,并将以下代码粘贴到页面中:
<%@ Language=VBScript %> <% Response.ContentType = "image/jpeg" ' Uncomment to prompt user for download or run with associated program. ' Response.AddHeader "content-disposition","attachment;filename=ReadMe.jpg" Set objHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP")' Point to an image file with adequate access permissions granted objHTTP.open "GET", "http://servername/picture.jpg",false objHTTP.send Response.BinaryWrite objHTTP.ResponseBody Set objHTTP = Nothing %>
将文件保存到 Web 服务器。
浏览到 文件。
使用 ServerXMLHTTP
对象时,请注意以下事项:
- 由于线程问题,正在访问的 ASP 页和文件应位于不同的虚拟文件夹中。
- 应在服务器上安装 MSXML 3.0 分析程序或更高版本,并且应使用适当的设置运行代理配置实用工具。