操作方法

操作方法:从 ArcMap 的要素类中批量导出附件

Last Published: May 10, 2024

摘要

There are no geoprocessing tools that allow users to export and save all attachments locally. The instructions provided below describe how to execute a possible solution by creating a script tool to accomplish the task.

过程

To batch export attachments from a feature class, create a script tool from a Python script using the workflow provided below, and run the created script tool.

Note:
This script requires that the input table be the standard attachment table created when attachments are enabled on a feature class. This is because the script relies on the DATA, ATT_NAME and ATTACHMENTID fields stored in this table. The typical naming convention should append _ATTACH to the end of the table name.
  1. Copy and paste the following script into Notepad, and save it as ExportAttachments.py.
    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
    Note:
    This script iterates through the entire attachment table of a single feature class and copies all of the attachments (saved as BLOBs, or binary large objects) to a file.
  2. In the Catalog window, navigate to Toolboxes, and right-click My Toolboxes > New > Toolbox.
An image of adding a new toolbox.
  1. Add a script tool in the new toolbox. Refer to Adding a script tool for steps to do this.
    1. For the Script File, navigate to the location where the ExportAttachments.py script is saved. Select the script, click OK, and click Next.
An image of adding the Script File.
  1. Type Attachments Table in the first row of the Display Name column, and set the Data Type as Table.
  2. Add a second parameter and type Output Location for the Display Name, and set the Data Type as Folder.
An image of configuring the script tool parameters.
  1. Click Finish. A new script tool is added to the toolbox.
  1. Double-click the created script tool to open the tool.
  1. In the dialog box, select the attachments table containing the attachments to be extracted in the Attachments Table parameter.
  2. Under Output Location, select a folder in which to save the exported attachments, and click OK.
An image of the Export Attachments dialog box.
  1. Click OK to run the tool. The attachments are successfully exported in batch to the local folder defined in the Output Location parameter.
An image of the exported attachments in a folder.

文章 ID:000011912

接收通知并查找新问题或常见问题的解决方案

从我们全新的 AI 聊天机器人中获得简明答案和视频解决方案。

下载 Esri 支持应用程序

相关信息

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项