我有一个zip文件,其中包含一个CSV文件。
我需要对此zip文件进行Base64编码以发送到eBay(使用他们的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编码之后它返回的字符串与来自知名geek网站的字符串不匹配,并且不被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
任何人都可以帮忙..?
谢谢!
答案 0 :(得分: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指出我正确的方向!