2010-11-22 2 views
1

J'ai un service WCF qui retourne un objet qui contient un tableau d'octets qui peuvent être sauvegardés en PDF (mon composant .NET de cette implémentation fonctionne comme un charme, les octets sont enregistrés dans un flux et ils écrivent le PDF sans problème). Je peux modifier le WCF pour retourner seulement les octets si nécessaire. Ma question est: Comment puis-je obtenir ces octets à la page ASP afin que je puisse les enregistrer. J'ai passé plusieurs heures à chercher des méthodes/aide/conseils/quoi que ce soit sur le Web, mais j'ai été relativement inefficace. J'ai une méthode pour écrire des fichiers dans asp, mais il faut un tableau d'octets, mais je ne sais pas comment obtenir les octets de la WCF. La seule façon dont j'ai pu communiquer avec WCF est d'utiliser les appels de type SOAP et d'analyser le XML qui est retourné (ce qui est bien pour le reste de la page, car j'ai juste besoin des valeurs de texte qui sont retournées), mais on a besoin des octets retournés pour sauvegarder le fichier. (Et non, le WCF ne peut pas enregistrer le fichier seul, il vit sur un serveur différent et n'a pas accès à partager une carte de lecteur ou quelque chose comme ça).Utilisation de Classic ASP (vbscript) pour écrire un fichier mais les données proviennent d'un WCF

Toutes les pensées/conseils/conseils/etc serait grandement apprécié, je deviens fou avec ce projet!

Merci d'avance à tous!

Répondre

0

Il semble que vous appeliez le service WCF et obteniez une chaîne en retour, si ce n'est pas le cas Calling WCF service by VBScript.

Une fois que vous avez la chaîne, convertissez-la en sous-type octet (en utilisant ChrB()) et enregistrez-la dans un fichier ou écrivez-la au client.

Je trouve cet exemple de code à Create and work with binary data in ASP/VBScript:

Function StringToMultiByte(S) 
    Dim i, MultiByte 
    For i=1 To Len(S) 
    MultiByte = MultiByte & ChrB(Asc(Mid(S,i,1))) 
    Next 
    StringToMultiByte = MultiByte 
End Function