2013-07-03 62 views
1

我有一個zip文件,其中包含一個CSV文件。Base64使用經典ASP和VB腳本編碼ZIP文件

我需要Base64編碼這個zip文件發送到易趣(使用他們的API)。

我使用了這個網站:http://www.opinionatedgeek.com/DotNet/Tools/Base64Encode/這很好用,我上傳了我的zip文件,它返回了eBay喜歡的base64編碼字符串。

我需要做本網站的工作,但使用經典的ASP和VB腳本。

我已經有一個base64編碼功能,從這裏:http://www.motobit.com/tips/detpg_base64encode/所以我不需要一個腳本。這個函數接受一個參數,所以我需要把我的zip文件轉換成一個字符串(我認爲)傳遞給這個函數。

我試過使用ADODB.Stream和LoadFromFile方法,但是它在base64編碼之後返回的字符串與來自輿論的極客網站並不匹配,並且不被eBay接受。

這是我已經試過:

Dim objStream, strFileText 

Set objStream = Server.CreateObject("ADODB.Stream") 
objStream.Type = 1 
objStream.Open 
objStream.LoadFromFile Server.MapPath("myzipfile.zip") 

strFileText = Base64Encode(objStream.Read) 
Response.Write strFileText 

objStream.Close 
Set objStream = Nothing 

任何人的幫助..?

謝謝!

+1

可能的[VBScript中的Base64編碼字符串]重複(http://stackoverflow.com/questions/496751/base64-encode-string-in-vbscript) – ulluoink

+0

謝謝你ulluoink ...我錯過了BinaryToString函數。 ..我會發布答案... –

回答

1

現在這是解決...

我錯過了流輸出和使用Base64編碼的BinaryToString功能。

現在我用:

strFileText = Base64Encode(BinaryToString(objStream.Read)) 

凡新功能是...

Function BinaryToString(Binary) 
    Dim I, S 
    For I = 1 To LenB(Binary) 
    S = S & Chr(AscB(MidB(Binary, I, 1))) 
    Next 
    BinaryToString = S 
End Function 

從這個輸出現在從自以爲是的怪胎工具的輸出相匹配。

感謝ulluoink指引我在正確的方向!