ADN Open CIS
Сообщество программистов Autodesk в СНГ

26/06/2014

Лёгкое программирование под Autodesk Vault. Часть 24

НазадСодержаниеДалее


Для добавления файлов необходимо вызвать AddFile либо CheckinFile.

Оба эти метода являются членами интерфейса IFileManager пространства имён Autodesk.DataManagement.Client.Framework.Vault.Services.Connection.
Данный интерфейс инкапсулирует доступ к файлам хранилища. Доступ у нему можно получить через свойство Autodesk.DataManagement.Client.Framework.Vault.Currency.Connections.Connection.FileManager.

Код - PowerShell: [Выделить]
  1.  
  2. # Функиця получение пути к локальному файлу посредством графического диалогового окна
  3. function Get-FilePath($initialDirectory)
  4. { 
  5. [System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") |
  6. Out-Null
  7. $OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
  8. $OpenFileDialog.initialDirectory = $initialDirectory
  9. $OpenFileDialog.filter = "All files (*.*)| *.*"
  10. $OpenFileDialog.ShowDialog() | Out-Null
  11. $OpenFileDialog.filename
  12. }
  13. # Функиця выгрузки файла в хранилище
  14. function Add-VaultFile
  15. {
  16. param(
  17. [Parameter(Position=0, Mandatory=$false)]
  18. [System.String]
  19. $filePath
  20. )
  21. if (($filePath -eq "") -or ($filePath -eq $null)) {$fp = Get-FilePath "c:/"} else { $fp = $filePath}
  22. $fileFromDisk = New-Object Autodesk.DataManagement.Client.Framework.Currency.FilePathAbsolute $fp
  23. $fold = New-Object Autodesk.DataManagement.Client.Framework.Vault.Currency.Entities.Folder $g_login, $vaultFolder
  24. # Получаем доступ к методу интерфейса
  25. $g_login.FileManager.AddFile(
  26. $fold,
  27. "Комментарий",
  28. $null,
  29. $null,
  30. [Autodesk.Connectivity.WebServices.FileClassification]::DesignVisualization,
  31. $false,
  32. $fileFromDisk)
  33. }
  34. $global:g_login=[Autodesk.DataManagement.Client.Framework.Vault.Forms.Library]::Login($null)
  35. Add-Type -Path (Join-Path $PSScriptRoot "bin\Autodesk.DataManagement.Client.Framework.Vault.Forms.dll")
  36. Add-Type -Path (Join-Path $PSScriptRoot "bin\Autodesk.Connectivity.WebServices.dll")
  37. $global:vaultFolder = $g_login.DocumentService.GetFolderByPath($folderName)
  38. Add-VaultFile c:/Design/1.txt

Информация к размышлению:

Добавление файлов при помощи соеднинения: ссылка.
Добавление файлов при помощи веб-служб: ссылка.

Автор: Дмитрий Емельянов
Автор перевода: Дмитрий Емельянов

Обсуждение: http://adn-cis.org/forum/index.php?topic=834

Опубликовано 26.06.2014
Отредактировано 26.06.2014 в 17:52:53