2014-10-09 46 views
0

我有一個簡單的webservice開發進度4GL從中我收到作爲輸出參數與blob 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中我對這個Web服務的請求,我處理這樣的迴應:

 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文件的二進制表示的字符串。

如何將此字符串轉換爲字節[]以獲取此c#文件?

+1

如何在文件中的XML響應編碼?有方法將字符串轉換爲字節[]喜歡Convert.FromBase64String – Luizgrs 2014-10-09 12:41:53

+0

你是生活的保護者; – 2014-10-09 14:59:37

回答

0

也許應該使用的Base64編碼,所以你應該與方法Convert.FromBase64String去:

var byteContent = Convert.FromBase64String(dr["FileContent"].ToString())