Skip To Content

esri_webfeaturelayer _downloadAttachment (AutoLISP)

此函数将从受支持的 web 要素图层的指定要素下载指定附件文件。

语法

(esri_webfeaturelayer_downloadAttachment flname ename attachmentName filepath [overwrite])

参数

  • flname | 字符串 | 必填 | 工程图中现有的 web 要素图层名称。
  • ename | 实体名称 | 必填 | 要下载附件的要素的 AutoCAD 实体名称。
  • attachmentName | 字符串 | 必填 | 要下载的附件的文件名。
  • filepath | 字符串 | 必填 | 已下载文件的目标文件路径。
  • overwrite | true/false | 可选 | 指定是否将覆盖指定文件路径处的现有文件。 True T 将覆盖该文件。 False nil 将不会覆盖现有的同名文件。

示例用法 1

提示用户从名为 "Damage_to_Residential_Buildings" 的 web 要素图层中选择一个实体,并尝试将名为 "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" 的 web 要素图层中选择一个实体,并尝试将名为 "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."))

    指定的实体不是指定 web 要素图层中的要素。

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

    指定的 web 要素图层值不是工程图中的有效 web 要素图层。

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

    所选要素不包含附件。

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

    与 web 要素图层的网络连接丢失。

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

    指定的 attachmentName 未作为指定要素上的附件存在。

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

    指定的 web 要素图层不支持附件。

  • (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 用户可能没有文件夹访问权限。