Office.AttachmentDetailsCompose interface
表示物品上的附件。 仅限撰写模式。
该方法返回getAttachmentsAsync一个对象数AttachmentDetailsCompose组。
注解
最低权限级别: 读取项目
适用的 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 网页版 和 Windows 上的新版 Outlook 中,指示邮件中的内联附件是否已上传到服务器并分配了 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返回扩展。在 Windows 上的经典 Outlook 中,使用拖放、 附加文件或作为 附件转发 附加的邮件或约会的类型
Office.MailboxEnums.AttachmentType.Item为 . 属性中name未返回文件扩展名。在 Mac 上的 Outlook 中,通过拖放、附加项目或作为附件转发附加的邮件或约会的类型
Office.MailboxEnums.AttachmentType.File为 . 在属性中name返回文件扩展名。
contentId
获取内联附件的内容标识符。
contentId: string;
属性值
string
注解
重要提示:2025 年 11 月 15 日发布的 Outlook 网页版和新版 Outlook on Windows 中 Outlook 电子邮件 HTML 正文中内联图像的表示方式的更改。 以前,图像的附件 ID 显示在适用<img>元素的属性中src。 现在,图像由属性中 src) 的内容 ID (cid 表示。 如果从 HTML 编辑器分析附件 ID 或从属性中的 src URL 获取图像的 Base64 编码值,则必须更新加载项的分析逻辑。 有关详细信息,请参阅 Outlook 网页版和新版 Outlook for Windows 中对内联图像表示形式的更改。
id
获取附件的标识符。 该值因 Outlook 客户端而异。
在 Outlook 网页版 和 Windows 上的新 Outlook 中,标识符是 Exchange Web 服务 (EWS) ID。 对于内联附件,初始标识符是临时附件 ID,前缀
addinId为 ,同时附件上传到服务器。 上传完成后,附件将收到 EWS ID。 有关详细信息,请参阅“备注”部分中的备注。在 Windows (经典) 和 Mac 上的 Outlook 中,内联和非内联附件的标识符是附件的索引。
id: string;
属性值
string
注解
重要提示: 从 2026 年 3 月 30 日开始,在调用或addFileAttachmentAsyncaddFileAttachmentFromBase64Async设置为true完成后isInline,Outlook 网页版和新版 Outlook Windows 版邮件中的内联图像在上传到服务器时会在本地分配临时附件 ID。 临时附件 ID 以 为前缀。addinId 将图像上传到服务器后,会为它们分配一个 Exchange Web 服务 (EWS) ID。 仅在当前撰写会话期间支持临时附件 ID。 有关内联图像处理方式的更改的详细信息,请参阅 Outlook 加载项中内联图像附件 ID 的更改。
isInline
获取一个值,该值指示附件是以图像形式显示在项目正文中,而不是在附件列表中。
isInline: boolean;
属性值
boolean
isServiceAccessible
在 Outlook 网页版 和 Windows 上的新版 Outlook 中,指示邮件中的内联附件是否已上传到服务器并分配了 Exchange Web 服务 (EWS) ID。
isServiceAccessible: boolean;
属性值
boolean
注解
重要说明:
从 2026 年 3 月 30 日开始,在调用
addFileAttachmentAsync或addFileAttachmentFromBase64Async设置为true完成调用isInline后,Outlook 网页版和新的 Outlook on Windows 中的内联图像在上传到服务器时会在本地分配临时附件 ID。 临时附件 ID 以 为前缀。addinId将图像上传到服务器后,将在属性中id为它们分配一个 Exchange Web 服务 (EWS) ID,并且它们的isServiceAccessible属性设置为true。 仅在当前撰写会话期间支持临时附件 ID。 有关内联图像处理方式的更改的详细信息,请参阅 Outlook 加载项中内联图像附件 ID 的更改。在 Windows (经典) 和 Mac 上的 Outlook 中,
isServiceAccessible该属性始终返回false,因为附件 ID 是附件的索引。
name
获取附件的名称。
name: string;
属性值
string
注解
重要说明:
类型的附件
Office.MailboxEnums.AttachmentType.Item不会返回属性中的name文件扩展名。在 Outlook 网页版和新的 Outlook on Windows 中,本地保存然后使用拖放或“附加项目”选项附加的邮件或约会的类型
Office.MailboxEnums.AttachmentType.File为 。 在属性中name返回文件扩展名。 但是,使用“ 转发为附件 ”选项附加的邮件或约会的类型Office.MailboxEnums.AttachmentType.Item为 . 在这种情况下,不会在属性中name返回扩展。在 Windows 上的经典 Outlook 中,使用拖放、 附加文件或作为 附件转发 附加的邮件或约会的类型
Office.MailboxEnums.AttachmentType.Item为 . 属性中name未返回文件扩展名。在 Mac 上的 Outlook 中,通过拖放、附加项目或作为附件转发附加的邮件或约会的类型
Office.MailboxEnums.AttachmentType.File为 . 在属性中name返回文件扩展名。
size
获取以字节为单位的附件大小。
size: number;
属性值
number
url
如果附件类型为 MailboxEnums.AttachmentType.Cloud,则获取附件的 url。
url?: string;
属性值
string