我们使用的产品是将Letter Express(邮件合并)模板存储为BLOB(或CLOB ......我现在不记得了)。我们使用产品的API来拨打此信函并发送电子邮件。
现在,我们希望捕获电子邮件的内容并将其存储在单独的字段中。 API为我们提供了一个包含模板的LetterExpress.WordDocument属性。但这是byte[]
。
我试图把它变成一个字符串对象,这样我就可以填充占位符,然后将它存储在另一个字段中。
这是我正在尝试的代码。
System.Text.Encoding.ASCII.GetString(LetterExpress.WordDocument)
但是,我收到如下错误
最佳重载方法匹配 'System.Text.Encoding.GetString(字节[])' 有一些无效的论点
为什么我收到此错误?
如何确定LetterExpress.WordDocument使用的编码是什么?或者是否有可以将其转换为字符串的通用方法?
答案 0 :(得分:3)
您收到该错误,因为您认为LetterExpress.WordDocument
byte[]
属性不是真正的{{1}}属性。验证该属性的类型是否真的符合您的想法。
答案 1 :(得分:1)
听起来这是一个真正的.doc文件,而.doc文件要比字符串编码复杂得多。如果要从word文档中提取文本,则需要Aspose Tools之类的内容。执行此操作的能力并未构建到框架中。您可以使用没有System.Text.Encoding,也没有包含.Net的通用方法可以执行此操作。