2015-06-16 140 views
0

我試圖下載MS Excel文件(二進制)。我甚至可以得到正確的響應頭文件(請參閱附加的兩個圖像(httpfox和vbscript))。當嘗試使用下面的函數保存objWinHttp.ResponseBody(在很多帖子提到下載二進制文件中找到):使用WinHttp.WinHttpRequest.5.1下載二進制文件 - 內容是二進制亂碼

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

+2

您的XLS文件對於我來說只是使用Dropbox鏈接正常下載它的「gibrished」。只需使用十六進制編輯器查看它,它看起來不是一個有效的Excel文件。 – Bond

回答

1

沒有什麼內在的錯誤代碼。 @Bond已經指出,您的文件不是Excel工作簿。這是一個gzip壓縮的HTML頁面。將其保存爲mySrsExport.htm.gz,您將能夠使用gunzip7-Zip或其他某個(聯合)打包器來提取HTML文件。

+0

非常感謝你們兩位 - 你讓我的一天更加美好,但沒有足夠的聲望投票 - 但是,這是正確的答案。 : - ) –