Office.AttachmentDetailsCompose interface
表示项目上的附件。 仅限撰写模式。
对象数组 AttachmentDetailsCompose 由 getAttachmentsAsync 方法返回。
注解
最低权限级别: 读取项
适用的 Outlook 模式:Compose
使用方
- Office.AppointmentCompose: getAttachmentsAsync
- Office.LoadedMessageCompose: getAttachmentsAsync
- Office.MessageCompose: getAttachmentsAsync
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml
Office.context.mailbox.item.getAttachmentsAsync((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(result.error.message);
return;
}
if (result.value.length > 0) {
for (let i = 0; i < result.value.length; i++) {
const attachment = result.value[i];
let attachmentType;
switch (attachment.attachmentType) {
case Office.MailboxEnums.AttachmentType.Cloud:
attachmentType = "Attachment is stored in a cloud location";
break;
case Office.MailboxEnums.AttachmentType.File:
attachmentType = "Attachment is a file";
break;
case Office.MailboxEnums.AttachmentType.Item:
attachmentType = "Attachment is an Exchange item";
break;
}
console.log(
"ID: " +
attachment.id +
"\n" +
"Type: " +
attachmentType +
"\n" +
"Name: " +
attachment.name +
"\n" +
"Size: " +
attachment.size +
"\n" +
"isInline: " +
attachment.isInline
);
}
} else {
console.log("No attachments on this message.");
}
});
属性
| attachment |
获取一个值,该值指示附件的类型。 |
| content |
获取内联附件的内容标识符。 |
| id | 获取附件的标识符。 该值因 Outlook 客户端而异。
|
| is |
获取一个值,该值指示附件在项目正文中而不是附件列表中是否显示为图像。 |
| is |
在 Outlook 网页版 和新的 Outlook on Windows 中,指示邮件中的内联附件是否已上传到服务器并分配 Exchange Web 服务 (EWS) ID。 |
| name | 获取附件的名称。 |
| size | 获取以字节为单位的附件大小。 |
| url | 如果附件的类型为 |
属性详细信息
attachmentType
获取一个值,该值指示附件的类型。
attachmentType: MailboxEnums.AttachmentType | string;
属性值
Office.MailboxEnums.AttachmentType | string
注解
重要说明:
在Outlook 网页版和新的 Outlook on Windows 中,本地保存的邮件或约会,然后使用拖放或“附加项目”选项进行附加, 类型
Office.MailboxEnums.AttachmentType.File为 。 文件扩展名在 属性中name返回。 但是,使用 “转发为附件 ”选项附加的邮件或约会的类型Office.MailboxEnums.AttachmentType.Item为 。 在这种情况下,不会在 属性中name返回扩展。在经典 Outlook on Windows 中,使用拖放、 附加文件或 作为附件转发 附加的邮件或约会的类型
Office.MailboxEnums.AttachmentType.Item为 。 属性中name不返回文件扩展名。在 Outlook on Mac 中,使用拖放、 附加项目或 转发作为附件附加 的邮件或约会的类型
Office.MailboxEnums.AttachmentType.File为 。 文件扩展名在 属性中name返回。
contentId
获取内联附件的内容标识符。
contentId: string;
属性值
string
注解
重要提示:更改了 Outlook 网页版 中 Outlook 电子邮件的 HTML 正文中内联图像的表示方式,以及 2025 年 11 月 15 日发布的新 Outlook on Windows。 以前,图像的附件 ID 显示在适用<img>元素的 属性中src。 现在,图像由属性中src的内容 ID (cid) 表示。 如果从 HTML 编辑器中分析附件 ID 或从 属性中的 src URL 获取图像的 Base64 编码值,则必须更新外接程序分析逻辑。 有关详细信息,请参阅更改Outlook 网页版中的内联图像表示形式和新的 Outlook for Windows。
id
获取附件的标识符。 该值因 Outlook 客户端而异。
在 Outlook 网页版 和新的 Outlook on Windows 中,标识符是 Exchange Web 服务 (EWS) ID。 对于内联附件,初始标识符是临时附件 ID,前缀为
addinId,而附件上传到服务器。 上传完成后,附件将收到 EWS ID。 有关详细信息,请参阅“备注”部分中的备注。在 Outlook on Windows (经典) 和 Mac 中,内联和非内联附件的标识符是附件的索引。
id: string;
属性值
string
注解
重要提示:从 2026 年 3 月 30 日开始,对 addFileAttachmentAsync 或 addFileAttachmentFromBase64AsyncisInline 设置为 true 的调用完成后,Outlook 网页版 邮件中的内联图像和新的 Windows 版 Outlook 在上传到服务器时,会在本地为其分配临时附件 ID。 临时附件 ID 的 addinId前缀为 。 将图像上传到服务器后,系统会为它们分配 Exchange Web 服务 (EWS) ID。 临时附件 ID 仅在当前撰写会话期间受支持。 有关内联图像处理方式的更改的详细信息,请参阅 Outlook 外接程序中内联图像附件 ID 的更改。
isInline
获取一个值,该值指示附件在项目正文中而不是附件列表中是否显示为图像。
isInline: boolean;
属性值
boolean
isServiceAccessible
在 Outlook 网页版 和新的 Outlook on Windows 中,指示邮件中的内联附件是否已上传到服务器并分配 Exchange Web 服务 (EWS) ID。
isServiceAccessible: boolean;
属性值
boolean
注解
重要说明:
从 2026 年 3 月 30 日开始,对
addFileAttachmentAsync或addFileAttachmentFromBase64AsyncisInline设置为true的调用完成后,Outlook 网页版 中的内联图像和新的 Windows 版 Outlook 在上传到服务器时,会在本地为其分配临时附件 ID。 临时附件 ID 的addinId前缀为 。 将图像上传到服务器后,系统会在 属性中id为其分配 Exchange Web 服务 (EWS) ID,其isServiceAccessible属性设置为true。 临时附件 ID 仅在当前撰写会话期间受支持。 有关内联图像处理方式的更改的详细信息,请参阅 Outlook 外接程序中内联图像附件 ID 的更改。在 Outlook on Windows (经典) 和 Mac 中,属性始终返回
false,isServiceAccessible因为附件 ID 是附件的索引。
name
获取附件的名称。
name: string;
属性值
string
注解
重要说明:
类型的
Office.MailboxEnums.AttachmentType.Item附件不会在 属性中name返回文件扩展名。在Outlook 网页版和新的 Outlook on Windows 中,本地保存的邮件或约会,然后使用拖放或“附加项目”选项进行附加, 类型
Office.MailboxEnums.AttachmentType.File为 。 文件扩展名在 属性中name返回。 但是,使用 “转发为附件 ”选项附加的邮件或约会的类型Office.MailboxEnums.AttachmentType.Item为 。 在这种情况下,不会在 属性中name返回扩展。在经典 Outlook on Windows 中,使用拖放、 附加文件或 作为附件转发 附加的邮件或约会的类型
Office.MailboxEnums.AttachmentType.Item为 。 属性中name不返回文件扩展名。在 Outlook on Mac 中,使用拖放、 附加项目或 转发作为附件附加 的邮件或约会的类型
Office.MailboxEnums.AttachmentType.File为 。 文件扩展名在 属性中name返回。
size
获取以字节为单位的附件大小。
size: number;
属性值
number
url
如果附件的类型为 MailboxEnums.AttachmentType.Cloud,则获取其 URL。
url?: string;
属性值
string