CreateAttachmentType Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
The CreateAttachmentType class represents a request to attach an item or file to a specified item in the Exchange database.
public ref class CreateAttachmentType : ExchangeWebServices::BaseRequestType
public class CreateAttachmentType : ExchangeWebServices.BaseRequestType
Public Class CreateAttachmentType
Inherits BaseRequestType
- Inheritance
Examples
The following code example shows a create attachment request that creates a file and item attachment on an existing item in the Exchange database.
static void CreateAttachment(ExchangeServiceBinding esb)
{
// Create the item attachment.
MessageType message = new MessageType();
message.Subject = "Example subject";
message.Importance = ImportanceChoicesType.Low;
message.ImportanceSpecified = true;
ItemAttachmentType itemAttach = new ItemAttachmentType();
itemAttach.Name = "Message Attachment Example";
itemAttach.Item = message;
// Create the file attachment.
FileAttachmentType fileAttach = new FileAttachmentType();
fileAttach.Name = "filename.txt";
fileAttach.ContentType = "text/plain";
byte[] content;
using (FileStream fileStream = new FileStream("C:\\cas.txt",
FileMode.Open, FileAccess.Read))
{
content = new byte[fileStream.Length];
fileStream.Read(content, 0, content.Length);
}
fileAttach.Content = content;
// Create the CreateAttachment request.
CreateAttachmentType <span class="label">reqCreateAttach</span>= new CreateAttachmentType();
// Identify the item that will have the attachments.
ItemIdType item = new ItemIdType();
item.Id = "AAAlAE1BQG1h";
item.ChangeKey = "DwAAABYAAA";
// Add the parent item to the request.
<span class="label">reqCreateAttach</span>.ParentItemId = item;
// Add attachments to the request.
<span class="label">reqCreateAttach</span>.Attachments = new AttachmentType[2];
<span class="label">reqCreateAttach</span>.Attachments[0] = itemAttach;
<span class="label">reqCreateAttach</span>.Attachments[1] = fileAttach;
try
{
CreateAttachmentResponseType resp = esb.CreateAttachment(<span class="label">reqCreateAttach</span>);
ArrayOfResponseMessagesType aorit = resp.ResponseMessages;
ResponseMessageType[] rmta = aorit.Items;
foreach (ResponseMessageType rmt in rmta)
{
if (rmt.ResponseClass == ResponseClassType.Success)
{
AttachmentInfoResponseMessageType airmt = rmt as AttachmentInfoResponseMessageType;
foreach (AttachmentType atch in airmt.Attachments)
{
if (atch is ItemAttachmentType)
{
Console.WriteLine("Created item attachment");
}
else if (atch is FileAttachmentType)
{
Console.WriteLine("Created file attachment");
}
else
{
throw new Exception("Unknown attachment");
}
}
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
Remarks
You cannot attach an existing item to another item. To attach the contents of an existing item, pass the MimeContent of the existing item to the attachment that you want to create. Make sure that you null out all properties that are returned for an existing item. Only the Multipurpose Internet Mail Extensions (MIME) content should be used in the attachment. If you try to attach an existing item to another item, the response will contain an error because the Exchange database cannot include duplicate item identifiers.
Constructors
CreateAttachmentType() |
The CreateAttachmentType constructor initializes a new instance of the CreateAttachmentType class. |
Properties
Attachments |
The Attachments property gets or sets the attachments to create for the CreateAttachment operation. |
ParentItemId |
The ParentItemId property gets or sets the parent item in the Exchange database that receives the attachments. |