Attachments

List of examples:

Getting the attachments of a page




// Creates a new instance of the Tree provider 
TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser);

// Gets a page
TreeNode page = tree.SelectNodes()
    .Path("/Articles")
    .OnCurrentSite()
    .Culture("en-us")
    .TopN(1)
    .FirstOrDefault();

if (page != null)
{
    // Iterates over all document attachments of the page 
    foreach (DocumentAttachment attachment in page.AllAttachments)
    {
        // Perform any action with the attachment object (DocumentAttachment)
    }
}

// To get only unsorted attachments, use the TreeNode.Attachments collection
// To get only page field attachments, use the TreeNode.GroupedAttachments collection


> Back to list of examples

Inserting attachments into page fields




// Creates a new instance of the Tree provider
TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser);

// Gets a page
TreeNode page = tree.SelectNodes("CMS.Article")
    .Path("/Articles")
    .OnCurrentSite()
    .Culture("en-us")
    .TopN(1)
    .FirstOrDefault();

if (page != null)
{
    DocumentAttachment attachment = null;

    // Prepares the path of the file
    string file = System.Web.HttpContext.Current.Server.MapPath("/FileFolder/file.png");

    // Inserts the attachment into the 'ArticleTeaserImage' field and updates the page
    attachment = DocumentHelper.AddAttachment(page, "ArticleTeaserImage", file);
    page.Update();
}


> Back to list of examples

Inserting grouped attachments into page fields




// Creates a new instance of the Tree provider
TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser);

// Gets a page
TreeNode page = tree.SelectNodes()
    .Path("/Articles")
    .OnCurrentSite()
    .Culture("en-us")
    .TopN(1)
    .FirstOrDefault();

if (page != null)
{
    DocumentAttachment attachment = null;

    // Prepares the path of the file
    string file = System.Web.HttpContext.Current.Server.MapPath("/FileFolder/file.png");

    // Generates a new GUID for the attachment
    Guid attachmentGuid = Guid.NewGuid();

    // Prepares the GUID of the grouped attachment page field (of the 'Attachments' data type)
    // To find the GUID of a field:
    // Navigate to the 'Page types' application -> Select the Page type -> 'Fields' tab -> Select the field
    Guid fieldGuid = Guid.Parse("2458d5fd-54f0-4a07-b2cf-a45c38e793db");

    // Inserts the attachment into the field specified by the GUID and updates the page
    attachment = DocumentHelper.AddGroupedAttachment(page, attachmentGuid, fieldGuid, file);
}


> Back to list of examples

Adding unsorted attachments to pages




// Creates a new instance of the Tree provider
TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser);

// Gets a page
TreeNode page = tree.SelectNodes()
    .Path("/Articles")
    .OnCurrentSite()
    .Culture("en-us")
    .TopN(1)
    .FirstOrDefault();

if (page != null)
{
    // Prepares the path of the file
    string file = System.Web.HttpContext.Current.Server.MapPath("/FileFolder/file.png");

    // Adds the file as an attachment of the page
    DocumentHelper.AddUnsortedAttachment(page, Guid.NewGuid(), file);
}


> Back to list of examples

Changing the order of unsorted attachments




// Creates a new instance of the Tree provider
TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser);

// Gets a page
TreeNode page = tree.SelectNodes()
    .Path("/Articles")
    .OnCurrentSite()
    .Culture("en-us")
    .TopN(1)
    .FirstOrDefault();

if (page != null)
{
    // Gets an attachment by file name
    DocumentAttachment attachment = DocumentHelper.GetAttachment(page, "file.png");

    // Moves the attachment down in the list
    DocumentHelper.MoveAttachmentDown(attachment.AttachmentGUID, page);

    // Moves the attachment up in the list
    DocumentHelper.MoveAttachmentUp(attachment.AttachmentGUID, page);
}


> Back to list of examples

Modifying attachment metadata




// Creates a new instance of the Tree provider
TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser);

// Gets a page
TreeNode page = tree.SelectNodes()
    .Path("/Articles")
    .OnCurrentSite()
    .Culture("en-us")
    .TopN(1)
    .FirstOrDefault();

if (page != null)
{
    // Gets an attachment by file name
    DocumentAttachment attachment = DocumentHelper.GetAttachment(page, "file.png");

    // Edits the attachment's metadata (name, title and description)
    attachment.AttachmentName += " - modified";
    attachment.AttachmentTitle = "Attachment title";
    attachment.AttachmentDescription = "Attachment description.";

    // Ensures that the attachment can be updated without supplying its binary data
    attachment.AllowPartialUpdate = true;

    // Saves the modified attachment into the database
    attachment.Update();
}


> Back to list of examples

Deleting attachments




// Creates a new instance of the Tree provider
TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser);

// Gets a page
TreeNode page = tree.SelectNodes()
    .Path("/Articles")
    .OnCurrentSite()
    .Culture("en-us")
    .TopN(1)
    .FirstOrDefault();

if (page != null)
{
    // Gets an attachment by file name
    DocumentAttachment attachment = DocumentHelper.GetAttachment(page, "file.png");

    // Deletes the attachment
    DocumentHelper.DeleteAttachment(page, attachment.AttachmentGUID);
}


> Back to list of examples