انحراف (أو ما شابه) ضغط متاح لـ Silverlight 3؟
-
27-09-2019 - |
سؤال
هل هناك أي تطبيق انكماش لـ Silverlight 3 متوافق مع .NET One؟
أو باستثناء ذلك ، هل هناك أي خوارزمية ضغط مماثلة متاحة لكل من .NET و Silverlight يمكنني استخدامها؟
جربت هذا مثال LZW: http://paste.lisp.org/display/12198, ، لكن لسوء الحظ ، لا يعمل بشكل جيد للغاية.
المحلول
يمكن لـ Silverlight استخراج ملف من أرشيف مضغوط نظرًا لاسم ملف. .NET قادر على إنشاء ملف مضغوط. لذا ، بافتراض أن الاتجاه هو خادم-عميل (وهو ما يبدو أنه) يمكنك استخدام رمز جانبي العميل هذا:-
WebClient client = new WebClient();
client.OpenReadCompleted => (s, args)
{
StreamResourceInfo zipInfo = new StreamResourceInfo(args.Result, null);
StreamResourceInfo streamInfo = Application.GetResourceStream(zipInfo, new Uri("myfile.dat", UriKind.Relative));
YourFunctionToProcessTheDecompressedStream(streamInfo.Stream);
}
client.OpenRead(new Url("http://yourserver/somehandler.ashx"));
يمكن أن يأخذ "SomeHandler.Ashx" بعض تدفق الإدخال وتخزينه في أرشيف مضغوط باسم "myfile.dat" لإرسال الرمز البريدي الناتج إلى الاستجابة.
لا تنتمي إلى StackOverflow