En travaillant en C# avec l'API EWS Managed, nous avons de la difficulté à récupérer efficacement les images stockées en tant que pièces jointes en ligne.EWS + Exchange 2007: Récupérer des images en ligne
Le point de terminaison est d'afficher un e-mail avec des images en ligne en tant que page html entièrement formée dans un panneau. Le code que nous nous actuellement:
string sHTMLCOntent = item.Body;
FileAttachment[] attachments = null;
if (item.Attachments.Count != 0)
{
attachments = new FileAttachment[item.Attachments.Count];
for (int i = 0; i < item.Attachments.Count; i++)
{
string sType = item.Attachments[i].ContentType.ToLower();
if (sType.Contains("image"))
{
attachments[i] = (FileAttachment)item.Attachments[i];
string sID = attachments[i].ContentId;
sType = sType.Replace("image/", "");
string sFilename = sID + "." + sType;
string sPathPlusFilename = Directory.GetCurrentDirectory() + "\\" + sFilename;
attachments[i].Load(sFilename);
string oldString = "cid:" + sID;
sHTMLCOntent = sHTMLCOntent.Replace(oldString, sPathPlusFilename);
}
}
}
.. ce n'est pas très efficace si et ralentit la réactivité de notre application web. Est-ce que quelqu'un a une meilleure solution pour ce problème? Nous utilisons Exchange 2007 SP1, donc la propriété IsInline ne fonctionnera pas comme Exchange 2010 uniquement.