【问题标题】:Converting Progress 4GL blob file to pdf in c#在c#中将Progress 4GL blob文件转换为pdf
【发布时间】:2014-12-04 08:00:30
【问题描述】:

我有一个在 Progress 4GL 中开发的简单 web 服务,我从中接收到一个带有 blob 的数据集作为输出参数,我在其中存储了一个 pdf 文件。

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

如何将此字符串转换为 bytes[] 以在 c# 中获取此 pdf 文件?

【问题讨论】:

  • XML 响应中的文件是如何编码的?有一些方法可以将字符串转换为字节[],例如 Convert.FromBase64String

标签: c# blob progress-4gl openedge


【解决方案1】:

可能它应该使用 Base64 编码,所以你应该使用方法Convert.FromBase64String

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

【讨论】:

    【解决方案2】:

    var test=(byte[])dr["FileContent"].ToString();

    【讨论】:

    • 请考虑为您提供的代码添加说明。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    • 2015-03-29
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 2015-02-01
    • 1970-01-01
    相关资源
    最近更新 更多