فتح ملفات OLM
يمثل Aspose.Email لـ .NET ملف تخزين Outlook for Mac باستخدام OlmStorage فئة. يُظهر هذا المقال كيفية فتح ملف OLM من مسار أو تدفق، وكيفية تحميل ملف قد يكون تالفًا بأمان.
فتح ملف OLM
يمكن فتح ملف OLM بطريقتين:
- باستخدام منشئ;
- استخدام السكونية
FromFileطريقة.
هناك فرق في السلوك بين هذين النهجين يؤثر على كيفية تهيئة هيكل المجلدات. راجع التنقل بين مجلدات OLM للتفاصيل.
استخدام المنشئ
لفتح ملف، استدعِ منشئ OlmStorage فئة ومرّر اسم الملف الكامل كوسيط. لأن OlmStorage تنفذ IDisposable, غلفه في using العبارة بحيث يتم تحرير مقبض الملف الأساسي عند الانتهاء.
var fileName = "MyStorage.olm";
using (var olm = new OlmStorage(fileName))
{
// work with the storage
}
استخدام طريقة FromFile السكونية
لفتح ملف، استخدم السكونية FromFile طريقة ومرّر اسم الملف الكامل كوسيط:
var fileName = "MyStorage.olm";
using (var olm = OlmStorage.FromFile(fileName))
{
// work with the storage
}
فتح ملف OLM من تدفق
عند عدم جلب بيانات OLM من مسار محلي - على سبيل المثال، إذا تم استلامها من قاعدة بيانات، أو مورد شبكة، أو تخزين سحابي - يمكنك فتحها مباشرة من Stream. استخدم OlmStorage(Stream) المنشئ أو السكونية FromStream طريقة.
using (var stream = File.OpenRead("MyStorage.olm"))
using (var olm = new OlmStorage(stream))
{
// work with the storage
}
طريقة السكونية تعمل بنفس الطريقة:
using (var stream = File.OpenRead("MyStorage.olm"))
using (var olm = OlmStorage.FromStream(stream))
{
// work with the storage
}
فتح ملف OLM تالف
إذا كان الملف قد يكون تالفًا جزئيًا، لا يزال بإمكانك استخراج أكبر قدر ممكن من البيانات دون التوقف عند الخطأ الأول. للقيام بذلك، أنشئ الـ OlmStorage مثيل مع OlmStorage(TraversalExceptionsCallback callback) المنشئ، ثم حمّل الملف باستخدام Load طريقة بدلاً من FromFile.
تستقبل الدالة الارتجاع الاستثناءات التي حدثت أثناء التحميل والتصفح، بحيث يمكنك تسجيلها أو تجاهلها. الـ Load طريقة تُعيد true إذا تم تحميل الملف بنجاح وكان التجول ممكنًا، و false إذا كان الملف تالفًا جدًا بحيث لا يمكن تصفحه.
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.");
}
}
للحصول على مثال كامل لاستخراج العناصر من ملف تالف، راجع قراءة واستخراج رسائل OLM.