3

我有一个 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 编码后与自以为是的极客网站中的字符串不匹配,并且不被 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

任何人都可以帮助..?

谢谢!

4

1 回答 1

2

现在已经解决了...

我错过了流输出和 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 为我指明了正确的方向!

于 2013-07-03T12:47:46.787 回答