Skip To Content

esri_webfeaturelayer _downloadAttachment (AutoLISP)

Функция загружает указанный файл вложения из указанного элемента поддерживаемого векторного веб-слоя.

Синтаксис

(esri_webfeaturelayer_downloadAttachment flname ename attachmentName filepath [overwrite])

Аргументы

  • flname | string | обязательный | Имя существующего векторного веб-слоя на чертеже.
  • ename | имя элемента | обязательный | Имя элемента AutoCAD объекта для загрузки вложения.
  • attachmentName | string | обязательный | Имя файла вложения для загрузки.
  • filepath | string | обязательный | Путь к файлу назначения для загружаемого файла.
  • overwrite | true / false | дополнительный | Указывает, будет ли существующий файл перезаписан по указанному пути к файлу. True T перезапишет файл. False nil не будет перезаписывать существующий файл с тем же именем.

Пример использования 1

Предлагает пользователю выбрать элемент из векторного веб-слоя "Damage_to_Residential_Buildings" и пытается загрузить вложенный файл с именем "AutoCAD_drawingFiles.zip" в файл с именем "C:\\CADWork\\Attachments\\Updated_Drawings.zip".

(setq ename (car (entsel)))
(esri_webfeaturelayer_downloadAttachment 
  "Damage_to_Residential_Buildings" 
  ename 
  "AutoCAD_drawingFiles.zip" 
  "C:\\CADwork\\Attachments\\Updated_Drawings.zip"
)

Результат из примера использования 1

Файл AutoCAD_drawings.zip будет загружен в соответствии с заданным путем. C:\\CADWork\\Attachments\\Updated_Drawings.zip и функция возвращает:

(T)

Пример использования 2

Предлагает пользователю выбрать элемент из векторного веб-слоя "shelters" и пытается загрузить вложение файла с именем "LandSurface.xml" в файл с именем "C:\\CADWork\\Attachments\\LandSurface.xml" (когда слой не поддерживает вложения).

(setq ename (car (entsel)))
(esri_webfeaturelayer_downloadAttachment 
  "shelters" 
  ename
  "LandSurface.xml" 
  "C:\\CADwork\\Attachments\\LandSurface.xml"
)

Результат из примера использования 2

Файл LandSurface.xml не загружен, и функция возвращает:

(nil ("Error" . "Layer does not support attachments"))

Возвращаемые значения

  • Если успешно – возвращает список со значением true: (T)
  • В случае неудачи возвращается список с первым значением nil, а затем связанный список, содержащий значение ключа "Error" и соответствующее сообщение об ошибке в виде строки: (nil ( "Error" . "<message>"))

Неудачное возвращение значения может произойти по любой из следующих причин:

  • (nil ("Error" . "Missing required argument."))

    Не указан один из четырех обязательных аргументов.

  • (nil ("Error" . "No features found."))

    Указанный элемент не являлся объектом указанного векторного веб-слоя.

  • (nil ("Error" . "Web feature layer not found."))

    Заданный векторный слой не является допустимым слоем чертежа.

  • (nil ("Error" . "No attachments found on the selected feature."))

    Выбранный объект не имеет вложений.

  • (nil ("Error" . "No connected web feature layers found."))

    Сетевое подключение к веб-слою объектов было потеряно.

  • (nil ("Error" . "'TargetAttachmentName' does not exist on the selected feature."))

    Указанное attachmentName не существует в качестве вложения для указанного объекта.

  • (nil ("Error" . "Layer does not support attachments"))

    Указанный векторный веб-слой не поддерживает вложения.

  • (nil ("Error" . "Enable overwrite to remove existing file"))

    Имя файла существует в указанной директории. Используйте опцию перезаписи, чтобы разрешить перезапись существующего файла.

  • (nil ("Error" . "Could not find a part of the path 'C:\\CADwork\\AttachmentsFiles'."))

    Проверьте заданный аргумент для указанного downloadPath.

  • (nil ("Error" . "Access to the path <downloadPath> is denied."))

    При указании такого пути, как корень C:\,..\\AutoCAD\\.. или CAD пользователь может не иметь прав доступа к папке.