使用WinHttp.WinHttpRequest.5.1下载二进制文件 - 内容是二进制乱码

时间:2015-06-16 14:47:28

标签: file vbscript download binary winhttp

我正在尝试下载MS Excel文件(二进制文件)。我甚至得到了正确的响应标题(参见附加的图像(httpfox和vbscript))。尝试使用以下函数保存objWinHttp.ResponseBody时(在许多帖子中找到下载二进制文件):

Function SaveBinaryData (FileName, ByteArray)
  adTypeBinary = 1
  adSaveCreateOverWrite = 2

  SET BinaryStream = CreateObject("ADODB.Stream")

  BinaryStream.Type = adTypeBinary

  BinaryStream.Open
  BinaryStream.Write(ByteArray)

  BinaryStream.SaveToFile FileName, adSaveCreateOverWrite
  BinaryStream = 0
  'BinaryStream.Close
  'Return SaveBinaryData
End Function

该文件被保存为带有二进制内容的乱码。

以下是Excel文件,如果有人想看看内容的样子:https://dl.dropboxusercontent.com/u/17845471/mySrsExport.xls

1 个答案:

答案 0 :(得分:1)

您的代码没有任何内在错误。 @Bond已经指出,你的文件不是Excel工作簿。它是一个gzip压缩的HTML页面。将其另存为mySrsExport.htm.gz,您就可以使用gunzip7-Zip或其他(非)打包程序解压缩HTML文件。