通过Javascript解密Salesforce文本blob正文

通过Javascript解密Salesforce文本blob正文,javascript,salesforce,apex-code,Javascript,Salesforce,Apex Code,我有一些Javascript,我在其中提取静态资源文件的主体: function test() { var query = sforce.connection.query("Select Body from StaticResource where Name = 'StaticResourceFile'"); var records = query.getArray("records"); var body = records[0].Body; 我现在可以访问尸体,但它

我有一些Javascript,我在其中提取静态资源文件的主体:

function test() {
    var query = sforce.connection.query("Select Body from StaticResource where Name = 'StaticResourceFile'");
    var records = query.getArray("records");
    var body = records[0].Body;
我现在可以访问尸体,但它似乎是加密的。我如何解密它

通过Apex,您可以这样做,但使用Javascript则不然:

Blob blob = [Select Body from StaticResource where Name = 'StaticResourceFile'].Body;
string body = blob.toString();  // actual file contents!

如果是与之交互的对象,则看起来数据可能是Base64编码的。你需要以某种方式解码它。似乎涵盖了许多用Javascript执行解码的选项。

在bronsoja的回答之后,我四处搜索Salesforce提供的Base64方法。我在AJAX工具包文件“connection.js”中找到了一个:

<script type="text/javascript" src="/soap/ajax/22.0/connection.js" />
<script type="text/javascript">
   function test() {
      var test = sforce.connection.query("Select Body from StaticResource where Name = 'StaticResourceFile'");
      var records = test.getArray("records");
      var contents = sforce.Base64Binary.prototype.decode(records[0].Body);
</script>

功能测试(){
var test=sforce.connection.query(“从StaticResource中选择主体,其中名称='StaticResourceFile'”);
var记录=test.getArray(“记录”);
var contents=sforce.Base64Binary.prototype.decode(记录[0].Body);

感谢您的输入。请参阅我的答案;您帮助我找到了答案!