У меня есть простой веб-сервис, разработанный в Progress 4GL, из которого я получаю в качестве выходного параметра набор данных с блобом в whoich. Я сохранил файл pdf.Преобразование прогресса 4GL файл blob в pdf в C#
DEFINE TEMP-TABLE TTDocument NO-UNDO
FIELD DocSeqNr AS INT
FIELD FileName AS CHAR
FIELD EventCode AS CHAR
FIELD EventDescr AS CHAR
FIELD FileContent AS BLOB
.
DEFINE DATASET ds FOR TTDocument.
DEFINE INPUT PARAMETER pCoCd AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pLanCd AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pUsrCd AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pFilter AS CHARACTER NO-UNDO.
DEFINE OUTPUT PARAMETER DATASET FOR ds.
DEFINE OUTPUT PARAMETER pErrorTxt AS CHARACTER NO-UNDO.
В .Net я сделать запрос к этой веб-службы, и я обрабатывать этот ответ так:
XmlElement doc;
DataSet xxx = new DataSet();
beaHostDB.GetDocumets(pCoCd, lanCd, pUsrCd,idAdd, out doc, out pErrorTxt);
XmlElementToXmlDocment(doc);
var reader = new StringReader(doc.InnerXml);
xxx.ReadXml(reader);
foreach (DataRow dr in xxx.Tables[0].Rows)
{
DcumentList.Add(new Document { FileContent =dr["FileContent"].ToString});
}
Так что теперь у меня есть строка с двоичным представлением этого PDF-файла.
Как преобразовать эту строку в байты [], чтобы получить этот pdf-файл в C#?
Как файл закодирован в ответ XML? Есть методы для преобразования строки в байты [] нравится Convert.FromBase64String – Luizgrs
Вы спасатель жизни; –