Ouverture des fichiers OLM
Aspose.Email pour .NET représente un fichier de stockage Outlook for Mac avec le OlmStorage classe. Cet article montre comment ouvrir un fichier OLM depuis un chemin ou un flux, et comment charger en toute sécurité un fichier qui pourrait être corrompu.
Ouvrir un fichier OLM
Un fichier OLM peut être ouvert de deux manières :
- en utilisant un constructeur ;
- en utilisant le statique
FromFileméthode.
Il y a une différence de comportement entre ces deux approches qui affecte la façon dont la hiérarchie des dossiers est initialisée. Voir Navigation dans les dossiers OLM pour plus de détails.
Utilisation du constructeur
Pour ouvrir un fichier, appelez le constructeur de la OlmStorage classe et passez le nom complet du fichier en argument. Parce que OlmStorage implémente IDisposable, encapsulez‑le dans un using instruction afin que le gestionnaire de fichier sous‑jacent soit libéré une fois terminé.
var fileName = "MyStorage.olm";
using (var olm = new OlmStorage(fileName))
{
// work with the storage
}
Utilisation de la méthode statique FromFile
Pour ouvrir un fichier, utilisez le statique FromFile méthode et passez le nom complet du fichier en argument :
var fileName = "MyStorage.olm";
using (var olm = OlmStorage.FromFile(fileName))
{
// work with the storage
}
Ouvrir un fichier OLM depuis un flux
Lorsque les données OLM ne proviennent pas d’un chemin local – par exemple, qu’elles sont reçues d’une base de données, d’une ressource réseau ou d’un stockage cloud – vous pouvez les ouvrir directement depuis un Stream. Utilisez le OlmStorage(Stream) constructeur ou le statique FromStream méthode.
using (var stream = File.OpenRead("MyStorage.olm"))
using (var olm = new OlmStorage(stream))
{
// work with the storage
}
La méthode statique fonctionne de la même manière :
using (var stream = File.OpenRead("MyStorage.olm"))
using (var olm = OlmStorage.FromStream(stream))
{
// work with the storage
}
Ouvrir un fichier OLM corrompu
Si un fichier peut être partiellement corrompu, vous pouvez toujours extraire autant de données que possible sans vous arrêter à la première erreur. Pour ce faire, créez le OlmStorage instance avec le OlmStorage(TraversalExceptionsCallback callback) constructeur, puis chargez le fichier avec le Load méthode au lieu du FromFile.
Le rappel reçoit les exceptions levées pendant le chargement et le parcours, vous permettant de les consigner ou de les ignorer. Le Load méthode renvoie true si le fichier a été chargé avec succès et que la traversée est possible, et false si le fichier est trop corrompu pour être parcouru.
using (var olm = new OlmStorage((exception, id) =>
{
// Exception handling code.
Console.WriteLine($"Failed to process item '{id}': {exception.Message}");
}))
{
if (olm.Load(fileName))
{
// The file was loaded and can be traversed.
var folderHierarchy = olm.GetFolders();
}
else
{
Console.WriteLine("The OLM file is corrupted and cannot be traversed.");
}
}
Pour un exemple complet d’extraction d’éléments d’un fichier corrompu, voir Lecture et extraction des messages OLM.