jpb14
Messages postés18Date d'inscriptionjeudi 13 mai 2004StatutMembreDernière intervention22 janvier 2013
-
1 avril 2008 à 14:26
jpb14
Messages postés18Date d'inscriptionjeudi 13 mai 2004StatutMembreDernière intervention22 janvier 2013
-
2 avril 2008 à 15:19
bonjour,
Pour faire un upload vers un serveur d'images, j'utilise une méthode xmlrpcUpload exportée parle serveur.
Le 1° paramètre de la méthode est le contenu du fichier image encodé base64.
En php, cela donne
$client->query('apiXml.xmlrpcUpload',base64_encode(file_get_contents($_FILES['up_img']['tmp_name'])),$_FILES['up_img']['name'],$_REQUEST['titre'],$_REQUEST['description'], "$idZimagez");
en VB6, j'utilise la dll vbXMLRPC, mais je n'arrive pas à passer correctement le premier paramètre.
Quelqu'un sait t'il faire cela ?
Merci
JPB
jpb14
Messages postés18Date d'inscriptionjeudi 13 mai 2004StatutMembreDernière intervention22 janvier 2013 1 avril 2008 à 15:25
pour l'encodage, j'ai trouvé ceci:
http://www.nonhostile.com/howto-encode-decode-base64-vb6.asp. idem ce que tu m'indiques:
Public Function Base64Enc(ByRef vxbData() As Byte) As String
With CreateObject("MSXML.DOMDocument").createElement("Base64")
.dataType = "bin.base64"
.nodeTypedValue = vxbData
Base64Enc = .Text
End With
End Function
mon problème est plutôt du côté de la création du tableau vbxData().
j'ai fait ainsi. chez moi il s'appelle bFile():
Dim b As Byte
Dim bFile() As Byte
Dim a As Integer
Open "c:\temp\foto-1343541.jpg" For Binary As #1
ReDim bFile(LOF(1))
For a = 1 To LOF(1)
Get #1, a, b
bFile(a) = b
Next a
Close #1
Et c'est sans doute là que ça coince ....
Je n'ai pas de déclaration d'API avec cette dll vbXMLRPC
côté serveur, il y a une API www.zimagez.com/apiXml.php qui exporte entre autres la méthode xmlrpcUpload
cette méthode attend 4 paramètres string. Le premier est celui que j'évoque ici ..les autres sont des chaines de caratères sans pb.
merci de ton aide
JPB
jpb14
Messages postés18Date d'inscriptionjeudi 13 mai 2004StatutMembreDernière intervention22 janvier 2013 1 avril 2008 à 17:17
Je poursuis mes investigations avec la collaboration du support de chez zimagez.com et de l'auteur de la library vbXMLRPC.dll.
Dès que j'aurais mis au point, je mettrais une contribution sur le site, parce qu'il n'y a pas grand chose sur la mise en oeuvre de la technologie XMLRPC avec VB.
Merci de ton aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
jpb14
Messages postés18Date d'inscriptionjeudi 13 mai 2004StatutMembreDernière intervention22 janvier 2013 2 avril 2008 à 15:19
C'est bon ..ça fonctionne bien.
J'ai utilisé la modification de code proposée et une fonction EncodeBase64.
Et surtout j'ai corrigé un des paramètres attendus par la méthode du serveur php (le nom du fichier image ... avec son extension !!)
Je prépare un code exemple pour l'utilisation de XMLRPC (webservice) en VB6