簡體   English   中英

VB6 base64二進制

[英]VB6 base64 Binary

我在此網絡服務上有問題:

http://credenciados.pronto.com.br/carga.asmx?op=IncluirMultimidia2

arrayArquivo參數上,我使用此函數來生成數據:

Private Function getBase64fromFile(Filename) As String

   Dim base64 As New cls64base

   Dim FileInputData() As Byte

   Open Filename For Binary As #1
   FileInputData = String(LOF(1), 0)
   Get #1, 1, FileInputData
   Close #1

   getBase64fromFile = base64.Base64Encode(FileInputData)

End Function

當我致電服務時,我收到此錯誤:

元素數組的類型轉換失敗

Obs:

我正在使用:

  • Microsoft Soap ToolKit 3.0
  • Visual Basic 6

我不確定這是什么問題,但是我使用以下例程從文件中獲取二進制數據,然后對它進行base64編碼。 代碼需要MSXML庫-我使用的是版本3,該版本應可用於所有Win2K +版本。

為了從文件中獲取二進制數據:

Public Function GetFileData(ByVal Filename As String) As Byte()

    Dim f As Integer

    f = FreeFile

    Open Filename For Binary Access Read As #f
    ReDim GetFileData(0 To LOF(f) - 1)
    Get #f, , GetFileData
    Close #f

End Function

要將字節數組轉換為base64字符串:

Public Function GetBase64String(ByRef data() As Byte) As String

    Dim doc As DOMDocument
    Dim root As IXMLDOMElement

    Set doc = New DOMDocument
    Set root = doc.createElement("encode")
    root.dataType = "bin.base64"
    root.nodeTypedValue = data

    GetBase64String = root.Text

Exit Function

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM