Prezados,
Estou a procurar meios de desenvolver um código para enviar arquivo via POST, porém, não consegui encontrar nada que me auxiliasse, gostaria da ajuda de voces.
Segue programação via POSTMAN que tem dado certo.
O que não estou conseguindo fazer é enviar um arquivo PDF na parte "--form", o desenvolvedor pede que seja em "$binary".
Como poderia fazer?
Segue testes sem sucesso:
Agradeço desde já pela ajuda.
Estou a procurar meios de desenvolver um código para enviar arquivo via POST, porém, não consegui encontrar nada que me auxiliasse, gostaria da ajuda de voces.
Segue programação via POSTMAN que tem dado certo.
- Código:
curl --location '[URL]' \
--header 'accept: application/json' \
--header 'Authorization: [codigo]' \
--form 'media=@"sJAUKfZKD/FileProvider.pdf"'
O que não estou conseguindo fazer é enviar um arquivo PDF na parte "--form", o desenvolvedor pede que seja em "$binary".
Como poderia fazer?
Segue testes sem sucesso:
- Código:
Public Function ConvertFileToBase64(strFilePath As String) As String
'Alvaro Teixeira (ahteixeira) 2018 para MaximoAccess
'Origem: https://medium.com/cainhill/how-to-use-vba-to-convert-a-file-to-base-64-d124c9b2958a
'Requer referencia Microsoft XML library
Const UseBinaryStreamType = 1
Dim streamInput: Set streamInput = CreateObject("ADODB.Stream")
Dim xmlDoc: Set xmlDoc = CreateObject("Microsoft.XMLDOM")
Dim xmlElem: Set xmlElem = xmlDoc.createElement("tmp")
streamInput.Open
streamInput.Type = UseBinaryStreamType
streamInput.LoadFromFile strFilePath
xmlElem.DataType = "bin.base64"
xmlElem.nodeTypedValue = streamInput.Read
ConvertFileToBase64 = Replace(xmlElem.text, vbLf, "")
Set streamInput = Nothing
Set xmlDoc = Nothing
Set xmlElem = Nothing
End Function
- Código:
Private Sub Comando45_Click()
Dim Caminho As String
Caminho = "[caminho]"
Arquivo = ConvertFileToBase64(Caminho)
Dim strJson As Variant
With CreateObject("WinHttp.WinHttpRequest.5.1")
.Open "POST", "[URL]", False
.setRequestHeader "accept", "application/json"
.setRequestHeader "Content-Type", "multipart/form-data"
.setRequestHeader "Authorization", "[codigo]"
.Send Arquivo
MsgBox .responseText
End With
End Sub
Agradeço desde já pela ajuda.