ADN Club > Vault API
Как получить КОРРЕКТНУЮ ссылку на файл/папку для дальнейшей отправки по почте?
Пашин Евгений:
--- Цитата: Дмитрий Емельянов от 31-05-2017, 14:35:42 ---Сомневаюсь, что она появилась сейчас.
--- Конец цитаты ---
В Vault 2017 пока не появилась.
--- Цитата: Дмитрий Емельянов от 31-05-2017, 14:35:42 ---Нет, можно только путём скачивания файла, так как приложением по-умолчанию (обработчиком расширения) для открытия таких файлов является Vault.
--- Конец цитаты ---
А что если формировать *.acr-файл где-то на сервере (в доступном для всех месте НА ЧТЕНИЕ), а в сообщении указывать гиперссылку к этому файлу, тогда запуск получается из самой почты.
Вручную получилось, теперь надо сделать автоматически.
Пашин Евгений:
Три варианта получения ссылок:
1. В виде большой ссылки на скачивание *.acr-файла. Код показан выше.
2. В виде ссылки на сам *.acr-файл. Содержание файла показано выше.
3. В виде вложенного *.acr-файл. - оптимально. Сохраняем файл куда-нибудь во временную папку, а затем отправляем файл, как вложение.
В моём случае я провожу отправку сообщения через Outlook:
Создайте *.acr-файл:
--- Код - XML [Выбрать] ---<?xml version="1.0" encoding="utf-8"?><ADM xmlns="http://schemas.autodesk.com/msd/plm/ExplorerAutomation/2004-11-01"> <Server>Имя_сервера</Server> <Vault>Имя_хранилища</Vault> <Operations> <Operation ObjectType="File"> <ObjectID>$/Тестовая_папка/Имя_файла.txt</ObjectID> <Command>Select</Command> </Operation> </Operations></ADM>
Отправьте сообщение так:
--- Код - vb.net [Выбрать] --- ' Формируем полное имя *.acr-файла Dim LinkName As String = "Link" & Format(Now(), "yyyyMMddHHmmssffff") & ".acr" ' Создаём процедуру создания сообщения на отправку Dim oApp As Microsoft.Office.Interop.Outlook._Application oApp = New Microsoft.Office.Interop.Outlook.Application Dim oMsg As Microsoft.Office.Interop.Outlook._MailItem oMsg = oApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem) ' Получаем параметры для отправки ' Тема сообщения oMsg.Subject = "Тема сообщения" ' Ссылка в формате HTML Dim RealLink As String = Replace(LinkName, Chr(32), "%20") ' Ссылка в формате HTML в виде тега Dim Url As String = "<a href='" & "Папка_где_лежит_файл_acr\" & LinkName & "'>кликните, чтобы перейти к файлу в хранилище</a>" ' Если захочется вставить как ссылку в тексте сообщения ' Подготовка содержимого письма ' Содержимое письма oMsg.HTMLBody += "Автоматическое уведомление об изменении состояния жизненного цикла файла:" + VbCrLf ' Содержимое письма формируете строки ' **************** oMsg.HTMLBody += "Текст с тегами" oMsg.Attachments.Add ("Путь к файлу acr") ' Формат содержимого в виде HTML oMsg.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML oMsg.To = "Кому" oMsg.CC = "Копия кому" ' Отправка сообщения oMsg.Send()
Также можно выполнить это с помощью SMTP, но так как это вариант не сработал - его не выкладываю.
Навигация
Перейти к полной версии