View Full Version : سوال: ارسال لینک دانلود در سیلورلایت ؟
sari-1369
سه شنبه 08 مرداد 1392, 17:54 عصر
چطور میشه یک فایل رو برای دانلود به کلاینت فرستاد ؟
در مورد خودن فایل از سرور و آوردن اون به سمت کلاینت توسط سرویس مشکلی نیست . اینکه در نهایت چطوری میتونم در قالب یک فابل تحویل کاربر بدم مشکل دارم . سرچ کردم چیز خاصی پیدا نکردم .
hakim22
جمعه 11 مرداد 1392, 10:34 صبح
محتوای فایل رو میشه با WebClient یا WebRequest که نسخهی پیشرفته ترشه دانلود کرد. نتایج به صورت Stream هستند که در System.IO انواع دستورات برای خواندن آنها وجود دارد. اما برای ذخیره در سیستم کاربر با مشکلاتی مواجه هستید.
سیلورلایت به دلایل امنیتی دسترسی مستقیم به هارددیسک کلایت ندارد و تنها قسمتی که میتواند استفاده کند Isolated Storage است که یک فضای محدود در حد 5 تا 10 مگابایت (قابل تنظیم توسط کاربر) است .
یا اینکه با زدن تیک Require elevated trust when running in-browser در قسمت settings پروژه میتوانید از کاربر بخواهید اجازه دسترسی به هارد دیسکش را به سیلورلایت بدهد. بعدا کاربر میتواند در My Document خودش اطلاعات را خوانده یا از آن فایل Upload کند. (در این حالت نمیتوانید آدرس کامل یک فایل را مشخص کنید و فقط میشود از SaveDialog خود Silverlight استفاده کرد) - البته در سیلورلایت 5 این مشکل حل شده و محدود به My Document نیست. اما همچنان دسترسی به هارد تنها از طریق پنجره ی SaveDialog خود سیلورلایت است. نمایش داده شدن این پنجره هم مشروط بر این است که رویداد فعال کننده آن از طرف کاربر عمل شده باشد. مثلا اگر آن را درون تایمر یا رویدادهای لود صفحه قرار دهید عمل نمیکند. ولی اگر درون رویداد کلیک دکمه یا hyperlink باشد عمل می کند.
یا حالت Out-Of-browser setting که خودش یک بحث دیگر است و در رایانه ی کاربر بدون Browser اجرا میشود.
این مقاله میتونه خیلی کمک بکنه (http://www.silverlightshow.net/items/Using-the-SaveFileDialog-in-Silverlight-3.aspx)
sari-1369
جمعه 11 مرداد 1392, 20:51 عصر
ممنون دوست عزیز . خیلی خوب بود :)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.