操作方法
没有地理处理工具允许用户在本地导出并保存所有附件。 下面提供的说明描述了一种可能的解决方案,即通过创建脚本工具完成任务。
要从要素类批量导出附件,请使用下面提供的工作流从 Python 脚本创建脚本工具,然后运行创建的脚本工具。
注: 此脚本要求输入表为在要素类上启用附件时创建的标准附件表。 这是因为脚本依赖于此表中存储的 DATA、ATT_NAME 和 ATTACHMENTID 字段。 典型的命名约定应该将 _ATTACH 追加至表名的末尾。
import arcpy from arcpy import da import os inTable = arcpy.GetParameterAsText(0) fileLocation = arcpy.GetParameterAsText(1) with da.SearchCursor(inTable, ['DATA', 'ATT_NAME', 'ATTACHMENTID']) as cursor: for item in cursor: attachment = item[0] filenum = "ATT" + str(item[2]) + "_" filename = filenum + str(item[1]) open(fileLocation + os.sep + filename, 'wb').write(attachment.tobytes()) del item del filenum del filename del attachment
注: 此脚本会遍历单个要素类的整个附件表,并将所有附件(保存为 BLOB 或二进制大对象)复制到文件。
文章 ID:000011912
从 ArcGIS 专家处获得帮助
下载 Esri 支持应用程序