Использование классического ASP (vbscript) для записи файла, но данные поступают из WCF

У меня есть служба WCF, которая возвращает объект, содержащий массив байтов, который можно сохранить в виде PDF-файла (мой .NET-компонент этой реализации работает как шарм, байты сохраняются в потоке, и они без проблем записывают PDF-файл) . При необходимости я могу изменить WCF, чтобы возвращать только байты. Мой вопрос: как мне получить эти байты на странице asp, чтобы я мог их сохранить. Я потратил несколько часов на поиск в Интернете методов / помощи / подсказок / чего угодно, но безуспешно. У меня есть метод записи файлов в asp, но он требует массива байтов, но я не знаю, как получить байты из WCF. Единственный способ, которым я смог связаться с WCF, - это использовать вызовы типов SOAP и анализировать возвращаемый XML (что нормально для остальной части страницы, поскольку мне просто нужны возвращаемые текстовые значения), но это для сохранения файла нужны возвращенные байты. (И нет, WCF не может сохранить файл самостоятельно, он находится на другом сервере и не имеет доступа для совместного использования карты дисков или чего-то подобного).

Любые мысли / подсказки / подсказки / и т. Д. Будут ОЧЕНЬ признательны, я схожу с ума с этим проектом!

Заранее всем спасибо!


person SlackerCoder    schedule 22.11.2010    source источник


Ответы (1)


Похоже, вы вызываете службу WCF и получаете взамен строку, если не видите Вызов службы WCF с помощью VBScript.

Получив строку, преобразуйте ее в байтовый подтип (с помощью ChrB ()) и сохраните ее в файл или напишите клиенту.

Я нашел этот образец кода на странице Создавайте двоичные данные и работайте с ними в 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
person DaveB    schedule 22.11.2010