Attachments: Loading Attachments
There are a few methods that allow you to download attachments from a database:
session.advanced.attachments.get() can be used to download an attachment.
session.advanced.attachments.getNames() can be used to download all attachment names that are attached to a document.
session.advanced.attachments.getRevision() can be used to download an attachment of a revision document.
session.advanced.attachments.exists() can be used to determine if an attachment exists on a document.
Syntax
session.advanced.attachments.getNames(entity);
session.advanced.attachments.exists(documentId, name);
session.advanced.attachments.get(documentId, name);
session.advanced.attachments.get(entity, name);
session.advanced.attachments.getRevision(documentId, name, changeVector);
Parameters | ||
---|---|---|
entity or documentId | object or string | instance of the entity or the entity ID |
name | string | attachment name |
changeVector | string | change vector for revision identification |
Return Value | |
---|---|
Promise<AttachmentStreamResult> |
Promise resolving to a Readable for attachment content |
Example
const album = await session.load("albums/1");
const file1 = await session.advanced.attachments.get(album, "001.jpg");
const file2 = await session.advanced.attachments.get("albums/1", "002.jpg");
const inputStream = file1.data;
const attachmentDetails = file1.details;
// {
// name: '001.jpg',
// documentId: 'albums/1',
// contentType: 'image/jpeg',
// hash: 'MvUEcrFHSVDts5ZQv2bQ3r9RwtynqnyJzIbNYzu1ZXk=',
// changeVector: '"A:3-K5TR36dafUC98AItzIa6ow"',
// size: 25793
// }
const attachmentNames = await session.advanced.attachments.getNames(album);
for (const attachmentName of attachmentNames) {
const name = attachmentName.name;
const contentType = attachmentName.contentType;
const hash = attachmentName.hash;
const size = attachmentName.size;
}
const exists = session.advanced.attachments.exists("albums/1", "003.jpg");
// true