如何使用 Microsoft Graph API 添加大型 (>3MB) 内联附件?

问题描述

我正在尝试向邮件添加一个大的内嵌附件,但我没有看到添加 FileAttachment 中的 ContentLocation 信息的方法。对于小附件,我使用 FileAttachment,它工作正常。

对我所做工作的简单描述:

Microsoft.Graph.FileAttachment fileAttachment = /*SOME FILEATTACHMENT*/


Microsoft.Graph.AttachmentItem attachmentItem = new()
{
    AttachmentType = Microsoft.Graph.AttachmentType.File,Name = fileAttachment.Name,Size = fileAttachment.ContentBytes.Length,ContentType = fileAttachment.ContentType
};

Microsoft.Graph.UploadSession uploadSession = await userRequestBuilder.Messages[ msgOnServer.Id ].Attachments.CreateUploadSession( attachmentItem ).Request().PostAsync();

using MemoryStream fileMemoryStream = new( fileAttachment.ContentBytes );

Microsoft.Graph.LargeFileUploadTask<Microsoft.Graph.AttachmentItem> fileUploadTask = new( uploadSession,fileMemoryStream );

Microsoft.Graph.UploadResult<Microsoft.Graph.AttachmentItem> uploadResult = await fileUploadTask.UploadAsync();

一切正常,但我不知道如何添加 ContentLocation 信息。没有这个,我就无法在邮件中嵌入更大的图像。

有什么办法可以添加这些信息?或者可能需要以不同方式添加大型内嵌附件(图像)?

编辑: 正如@Dev 所指出的,不支持 ContentLocation。但是大图像的问题仍然存在。我至少需要指定 ContentId,但它不是 AttachmentItem 的一部分。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)