将我的word文档的blob内容转换为apex控制器中的String

时间:2012-10-23 10:38:08

标签: string salesforce blob converter apex-code

在SalesForce上,

我有一个word文档作为自定义对象的附件,我可以通过使用SOQL查询选择附件的主体来将其作为blob:

附件att = [SELECT Body FROM Attachment WHERE PARENTID =' * * '和ContentType ='application / msword']; Blob b = att.body;

我尝试使用b.toString()函数来获取内容,但它没有用。所以还有其他方法可以将blob转换为表示我的word文档中写入的文本的字符串。< / p>

                                       thanks

2 个答案:

答案 0 :(得分:1)

文档正文保存为Blob并且是base64Encoded。请使用EncodingUtil类和bas64Encode / base64Decode方法来获得所需的结果。

文档:http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_restful_encodingUtil.htm

您到底想要实现的目标是什么?
如果您要显示文档。内容并让用户编辑/保存。除非使用另一个不同级别的ActiveX控件,否则这是不可能的。

如果需要任何编码帮助,请发布代码!

答案 1 :(得分:0)

b.toString()方法应返回blob的字符串。但请记住,它并没有将word文档的专有格式转换为纯文本。它仍然是一个带有一些丑陋的字符串,因为它代表单词文档格式,而不是从单词查看时看到的文本。