OLM-bestanden openen
Aspose.Email voor .NET vertegenwoordigt een Outlook‑for‑Mac‑opslagbestand met de OlmStorage klasse. Dit artikel laat zien hoe u een OLM‑bestand opent vanaf een pad of een stream, en hoe u een bestand veilig laadt dat mogelijk beschadigd is.
Een OLM‑bestand openen
Een OLM‑bestand kan op twee manieren worden geopend:
- gebruik van een constructor;
- gebruik van de statische
FromFilemethode.
Er is een verschil in gedrag tussen deze twee benaderingen dat van invloed is op hoe de maphiërarchie wordt geïnitialiseerd. Zie Navigeren door OLM-mappen voor meer details.
De constructor gebruiken
Om een bestand te openen, roep de constructor van de OlmStorage klasse en geef de volledige bestandsnaam als argument door. Omdat OlmStorage implementeert IDisposable, wikkel deze in een using instructie zodat de onderliggende bestandshandle wordt vrijgegeven wanneer u klaar bent.
var fileName = "MyStorage.olm";
using (var olm = new OlmStorage(fileName))
{
// work with the storage
}
De statische FromFile‑methode gebruiken
Om een bestand te openen, gebruik de statische FromFile methode en de volledige bestandsnaam als argument doorgeven:
var fileName = "MyStorage.olm";
using (var olm = OlmStorage.FromFile(fileName))
{
// work with the storage
}
Een OLM‑bestand openen vanuit een stream
Wanneer de OLM‑gegevens niet afkomstig zijn van een lokaal pad – bijvoorbeeld wanneer ze worden ontvangen vanuit een database, een netwerkbron of cloudopslag – kunt u ze rechtstreeks openen vanuit een Stream. Gebruik de OlmStorage(Stream) constructor of de statische FromStream methode.
using (var stream = File.OpenRead("MyStorage.olm"))
using (var olm = new OlmStorage(stream))
{
// work with the storage
}
De statische methode werkt op dezelfde manier:
using (var stream = File.OpenRead("MyStorage.olm"))
using (var olm = OlmStorage.FromStream(stream))
{
// work with the storage
}
Een beschadigd OLM‑bestand openen
Als een bestand gedeeltelijk beschadigd kan zijn, kunt u toch zoveel mogelijk gegevens extraheren zonder bij de eerste fout te stoppen. Maak hiervoor de OlmStorage instantie met de OlmStorage(TraversalExceptionsCallback callback) constructor, laad vervolgens het bestand met de Load methode in plaats van FromFile.
De callback ontvangt de uitzonderingen die tijdens het laden en doorlopen worden gegenereerd, zodat u ze kunt loggen of negeren. De Load methode retourneert true als het bestand succesvol is geladen en doorlopen mogelijk is, en false als het bestand te beschadigd is om te doorlopen.
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.");
}
}
Voor een volledig voorbeeld van het extraheren van items uit een beschadigd bestand, zie OLM-berichten lezen en extraheren.