You are currently browsing legacy 4.0 version of documentation. Click here to switch to the newest 4.2 version.

We can help you with migration to the latest RavenDB

Contact Us Now
see on GitHub

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