此函数将从受支持的 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 用户可能没有文件夹访问权限。