async function applyEdits() { const FeatureLayer = require('esri/layers/FeatureLayer'); const url = 'https://serverurl.com/arcgis/rest/services/ESRI/ESRI_TEST/FeatureServer/'; // const layer = new FeatureLayer({ url: url.concat('1') // }); let response = await layer.queryFeatures({ outFields: ['*'], returnGeometry: false, where: '1=1' }); console.log('queryFeatures: '); console.log(response); const data = new Blob([JSON.stringify({ data: 'test data' })]); const attachmentEdits = new Array({ feature: response.features[1], // attachment: { name: 'Attachment1', globalId: '{7920F2B1-0DC1-48DD-A5A5-41BE6E9F7FDA}', contentType: 'application/json', data: JSON.stringify({ data: 'test data' }) //data } }); console.log('attachmentEdits: '); console.log(attachmentEdits); try { response = await layer.applyEdits({ addAttachments: attachmentEdits }, { globalIdUsed: true, //rollbackOnFailureEnabled: true }); console.log('applyEdits: '); console.log(response); } catch (exception) { console.error(exception); } finally { const attachments = await getAttachments(layer, [response.features[1].attributes[response.features[1].layer.objectIdField]]); console.log('getAttachments: '); console.log(attachments); } } async function getAttachments(layer, objectIds) { return await layer.queryAttachments({ objectIds: objectIds }); }