javascript - 如何在 JavaScript 中使用 Base64String 值设置 Dynamics CRM/365 字段

标签 javascript dynamics-crm dynamics-365

我想用文档的 base 64 字符串值设置“base64string”,然后我将获取该值并将文档加载到 sharepoint(我已经通过控制台应用程序获得了用于此工作的 c# 代码)。

我下面的代码似乎不起作用,基本上从未设置值,字段 base64string 是一个多行,有 100 万个字符。

<html>
<head>
  <meta charset="utf-8">
</head>
<body>
  Please select a file and then hit Evaluate:
  <br/>
  <input id="file" type="file" />
  <button id="button">Upload        
    <script>           
      document.getElementById('button').addEventListener('click', function() {
        var files = document.getElementById('file').files;
        if (files.length > 0) {
          getBase64(files[0]);
        }
      });

      function getBase64(file) {
        var reader = new FileReader();
        reader.readAsDataURL(file);
        reader.onload = function () {        
          Xrm.Page.getAttribute("base64string").setValue(reader.result);
        };
        reader.onerror = function (error) {};
      }        
    </script>      
</body>
</html>

最佳答案

Xrm.Page.getAttribute("base64string")中,你确定base64string是一个字段名吗?如果它是一个自定义字段,它应该有一个前缀,例如 abc_base64string

此外,HTML 网络资源不能直接访问 Xrm.Page

Reference other web resources from an HTML web resource .

An HTML web resource added to a form can’t use global objects defined by the JavaScript library loaded in the form. An HTML web resource may interact with the Xrm.Page or Xrm.Utility objects within the form by using parent.Xrm.Page or parent.Xrm.Utility, but global objects defined by form scripts won’t be accessible using the parent.

我相信您的代码应该更像这样:

reader.onload = function () {        
    parent.Xrm.Page.getAttribute("abc_base64string").setValue(reader.result);
};

关于javascript - 如何在 JavaScript 中使用 Base64String 值设置 Dynamics CRM/365 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51133383/

相关文章:

dynamics-crm - 如何在 LinkEntity 中使用条件和过滤器?

javascript - 在 Dynamics 365 CRM 应用程序中导航

dynamics-crm - 在 CRM 本地实例中增加 Workflow/Plugin WorkflowSettings.MaxDepth 会产生什么影响?

c# - 如何在 Dynamics 365 SDK 中检索没有 Guid 的实体?

javascript - 如何向函数主体之外的函数添加代码?

javascript - 如何在 Javascript PhoneGap 应用程序中居中对齐弹出窗口

odata - Dynamics CRM OData 查询过滤扩展属性仅在没有结果出现时才起作用?

javascript - Angular Mocks 破坏了我的应用程序

javascript - 检查对象键是否具有属性(如果有),检查值的 .length

android - 使用 URL 打开 View Microsoft Dynamics CRM 移动客户端(适用于手机)