Доступ к локальному файлу из Dynamics 365 и локальный ресурс не разрешен - PullRequest
1 голос
/ 24 апреля 2019

В CRM у нас есть список проектов, и на нашем сетевом диске есть соответствующие файлы с этими проектами. Не хотел настраивать Sharepoint из-за проблем, которые у нас были с ним в прошлом.

В любом случае, в каждую из этих записей проекта мы хотим добавить сетевой URI для файлов этого проекта, чтобы пользователь мог щелкнуть ссылку из записи CRM и перейти к этой ссылке. Так что-то типа X:\Projects\contoso.

наткнулся на это предложение для выполнения этого:

http://blog.zealots.solar/?p=54

В основном состоит из создания HTML-страницы и вставки ее в виде веб-ресурса в форму, что делает ее iframe.

<html>
  <head>
    <meta charset="utf-8">
  </head>
  <body>
    <a id="doclink" style="border: 0px currentColor;" href="http://www.example.com" target="_blank">
      <img style="border: 0px currentColor;" src="stsr_folders_icon.png">
    </a>
    <script language="javascript" type="text/javascript">
      var linkval = window.parent.Xrm.Page.data.entity.attributes.get("stsr_documents").getValue();
      var a = document.getElementById('doclink');
      a.href = "file:"+linkval;
    </script>  
  </body>
</html>

Конечно, обновление window.parent.Xrm.Page.data.entity.attributes.get("stsr_documents") и <img src=. Он берет значения URI из поля stsr_documents и добавляет его к изображению.

Он выполняет добавление и генерацию правильного file:///X:/Projects/contoso. Вы можете ввести этот URL в браузер, и он откроет каталог.

Однако, просто нажав на нее, вы получите следующие ошибки:

  • Not allowed to load local resource: file:///X:/Projects/contoso в Хром 73.0
  • Нет ошибки в Edge 42 (URI file:X:/Projects/contoso), но он ничего не делает
  • IE 11 тоже самое что и Edge: тот же URI, без ошибок, просто ничего не происходит
  • Firefox 66: то же самое ... без ошибок и ничего не происходит; URI file:///X:/Projects/contoso

Чтобы быть ясным: Я не спрашиваю, почему ошибка возникает или почему она не работает. Из обилия вопросов относительно этого довольно ясно, что это функция безопасности довольно Многие современные браузеры не загружают локальные ресурсы. Так много я получаю.

Что мне интересно, так это обходной путь, если он есть. Некоторые предлагают настроить веб-сервер, но я не уверен, как это будет работать, если у меня нет доступа к веб-серверу CRM.

Какие еще могут быть решения?

1 Ответ

1 голос
/ 24 апреля 2019

Работа с ресурсами UNC противоречит характеру кросс-браузерной веб-платформы, такой как Dynamics 365. Наряду с неуклюжим опытом пользователей Windows, который, по-видимому, в любом случае не работает, учтите опыт для пользователей Mac и мобильных устройств, когда онипопробуйте открыть UNC-путь в их браузере.

SharePoint был бы очевидным выбором, но, не задумываясь, вы могли бы рассмотреть возможность реализации WebDAV на сервере, на котором размещенfiles.

В наши дни я сомневаюсь, что многие считают WebDAV «современным» или популярным решением для интеграции файлов D365.

За пределами SharePoint Хранилище BLOB-объектов Azure - это жизнеспособный и популярный облачный вариант.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...