Base64使用经典ASP和VB脚本编码ZIP文件

时间:2013-07-03 11:25:49

标签: asp-classic vbscript zip base64

我有一个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

任何人都可以帮忙..?

谢谢!

1 个答案:

答案 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指出我正确的方向!