Skip to content
import AttachmentQuery from "@arcgis/core/rest/support/AttachmentQuery.js";
Inheritance:
AttachmentQueryAccessor
Since
ArcGIS Maps SDK for JavaScript 4.20

This class defines parameters for executing queries for feature attachments from a feature layer. Once an AttachmentQuery object's properties are defined, it can then be passed into the executeAttachmentQuery() or FeatureLayer.queryAttachments() methods, which will return attachmentInfos grouped by the source feature objectIds.

Known Limitations

All properties except objectIds require an ArcGIS Server service 10.5 or greater, and feature layer's capabilities.query.supportsAttachments to be true. When the feature layer's capabilities.query.supportsAttachments property is false, objectIds property only accepts a single objectId.

See also

Constructors

Constructor

Constructor
Parameters
ParameterTypeDescriptionRequired
properties
See the properties table for a list of all the properties that may be passed into the constructor.

Properties

Any properties can be set, retrieved or listened to. See the Watch for changes topic.

attachmentsWhere

Property
Type
string | null | undefined

The where clause to be applied to attachment queries. Only attachments that satisfy the attachmentsWhere clause will be returned.

Example
const query = new AttachmentQuery({
where: "1=1", // query all features in the layer
attachmentsWhere: "keywords = 'ladybug, purple'" // attachment queries
});

attachmentTypes

Property
Type
string[] | null | undefined

The file format that is supported by query attachment. For example, image/jpeg. See the ArcGIS REST API documentation for more information on supported attachment types.

Requires an ArcGIS Server service 10.5 or greater and feature layer's capabilities.query.supportsAttachments to be true.

If the feature layer's capabilities.attachment.supportsTypeWildcard is true, the attachmentTypes can include wildcard characters (e.g., image/*) to return all attachments of that type.

See also

cacheHint

Property
Type
boolean | null | undefined
Since
ArcGIS Maps SDK for JavaScript 4.24

Indicates if the service should cache the attachment query results. It only applies if the layer's capabilities.attachment.supportsCacheHint is set to true. Use only for queries that have the same parameters every time the app is used. Some examples of cacheable queries:

  • Queries based on preset input, for example, a drop-down list of US states.

declaredClass

readonlyinherited Property
Type
string
Inherited from: Accessor

The name of the class. The declared class name is formatted as esri.folder.className.

globalIds

Property
Type
string[] | null | undefined

An array of globalIds for the features in the layer being queried. The query results will return attachments only for specified global ids.

Requires an ArcGIS Server service 10.5 or greater and feature layer's capabilities.query.supportsAttachments to be true.

keywords

Property
Type
string[] | null | undefined

Used to query for attachments that match the provided keywords.

See also
Example
const query = new AttachmentQuery({
where: "1=1", // query all features in the layer
keywords: ["ladybug", "purple"] // attachment keywords
});

name

Property
Type
string | null | undefined

Used to query for attachments that match this name.

Example
const query = new AttachmentQuery({
where: "1=1", // query all features in the layer
attachmentsWhere: "name = 'ladybug.png'" // attachment queries
});

num

Property
Type
number | null | undefined

The number of features to retrieve. This option should be used in conjunction with the start property. Use this to implement paging (i.e. to retrieve "pages" of results when querying). Default Value is 10.

If not provided, but an instance of AttachmentQuery has a start property, then the default value of num is maxRecordCount. The maximum value for this parameter is the value of the layer's maxRecordCount of the service, which can be found at the REST endpoint of the feature layer.

Requires an ArcGIS Server service 10.5 or greater and feature layer's capabilities.query.supportsAttachments to be true.

objectIds

Property
Type
number[]

An array of objectIds of the features to be queried for attachments. When the feature layer's capabilities.query.supportsAttachments property is false, it only accepts a single objectId.

orderByFields

Property
Type
string[] | null | undefined
Since
ArcGIS Maps SDK for JavaScript 4.32

An array of one or more attachmentInfo field names on which the returned queried attachments will be sorted. Use ASC (ascending) or DESC (descending) to control the sort order. The default order is ascending. The orderByFields property is only supported when FeatureLayer.capabilities.attachment.supportsOrderByFields is true.

Example
const query = new AttachmentQuery({
where: "1=1", // query all features in the layer
orderByFields: ["ATT_NAME DESC"] // sort attachments by name in descending order
});

returnMetadata

Property
Type
boolean

If true, the Exchangeable image file format for the attachment will be included in AttachmentInfo.exifInfo. The layer's capabilities.attachment.supportsExifInfo must be true for the attachment query to return exifInfo for the attachments.

Default value
false

size

Property
Type
[ number, number ] | null | undefined

The file size of the attachment is specified in bytes. You can enter a file size range [1000,15000] to query for attachments. The query result will return all attachments within the specified file size range (1000 - 15000).

Requires an ArcGIS Server service 10.5 or greater and feature layer's capabilities.query.supportsAttachments to be true.

start

Property
Type
number | null | undefined

This option fetches query results by skipping a specified number of records. The query results start from the next record. The default value is 0. This parameter only applies when the feature layer's capabilities.query.supportsPagination is true. You can use this option to fetch records that are beyond maxRecordCount.

Requires an ArcGIS Server service 10.5 or greater and feature layer's capabilities.query.supportsAttachments to be true.

where

Property
Type
string | null | undefined

The where clause to be applied to the layer. Only features that satisfy the where clause and are in the list of objectIds will be returned. Requires an ArcGIS Server service 10.5 or greater and feature layer's capabilities.query.supportsAttachments to be true.

Methods

MethodSignatureClass
fromJSON
inherited static
fromJSON(json: any): any
clone(): AttachmentQuery
toJSON
inherited
toJSON(): any

fromJSON

inheritedstatic Method
Signature
fromJSON (json: any): any
Inherited from: JSONSupportMixin

Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. The object passed into the input json parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function.

Parameters
ParameterTypeDescriptionRequired
json
any

A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects.

Returns
any

Returns a new instance of this class.

clone

Method
Signature
clone (): AttachmentQuery

Creates a deep clone of AttachmentQuery object.

Returns
AttachmentQuery

A new instance of a AttachmentQuery object equal to the object used to call .clone().

toJSON

inherited Method
Signature
toJSON (): any
Inherited from: JSONSupportMixin

Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.

Returns
any

The ArcGIS portal JSON representation of an instance of this class.