此内容是否有用?
如何进行改进?
联系我们的支持团队
没有地理处理工具允许用户在本地导出并保存所有附件。 下面提供的说明描述了一种可能的解决方案,即通过创建脚本工具完成任务。
要从要素类批量导出附件,请使用下面提供的工作流从 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 或二进制大对象)复制到文件。
上次修改时间: 10/1/2020
文章 ID: 000011912
软件: ArcMap 10.8.1, 10.8, 10.7.1, 10.7, 10.6.1, 10.6, 10.5.1, 10.5, 10.4.1, 10.4, 10.3.1, 10.3, 10.2.2, 10.2.1, 10.2, 10.1, 10