Hola,
Estuve peleando con libcurl pero no conseguí hacerlo funcionar, el .h no tenia definido el valor para HB_CURLOPT_MIMEPOST, buscando encontré el valor 269, pero al pasar el objeto mime no era reconocido por el REST.
Al ser un REST debería bastar con un objeto http, así que me puse a buscar la solución por ese lado, he conseguido hacerlo funcionar con Microsoft.XMLHTTP, os pongo el código que usé para las pruebas que esta funcionando por si alguno le vale de referencia para envíos de ficheros a un REST, en este caso se envían tres elementos, nombre, mail y el pdf.
- Code: Select all Expand view
cBoundary := "-----MyBoundary"
cPathPdf := "c:/atinomi/test.pdf"
cB64File := HB_Base64Encode( memoread(cPathPdf) )
cNombre := "Alfonso Apellido1"
cMail := "alfonso.apellido1@dominio.es"
///creo objeto oHttp
oHttp := CreateObject( 'Microsoft.XMLHTTP' )
ohttp:Open( "POST" , cUrl , .F. )
ohttp:SetRequestHeader("Authorization" , "Bearer "+cToken )
ohttp:SetRequestHeader("Content-Type", "multipart/form-data; boundary="+cBoundary)
cCuerpo:= '--'+cBoundary+CRLF+;
'Content-Disposition: form-data; name="recipients[0][name]"'+CRLF+;
''+CRLF+;
cNombre+CRLF+;
'--'+cBoundary+CRLF+;
'Content-Disposition: form-data; name="recipients[0][email]"'+CRLF+;
''+CRLF+;
cMail+CRLF+;
'--'+cBoundary+CRLF+;
'Content-Disposition: form-data; name="files[0]"; filename="'+cPathPdf+'"'+CRLF+;
'Content-Type: application/pdf'+CRLF+;
''+CRLF+;
+cB64File+CRLF+;
'--'+cBoundary+'--'
lok := .t.
try
ohttp:Send(CCuerpo )
catch
lok:= .f.
end
If lok
cResp := ohttp:responseText
End