نمایش یک فایل PDF پویا در یک iframe در ASP.NET
یکشنبه 15 اردیبهشت 1392نمایش یک فایل PDF پویا در یک iframe در ASP.NET <br/> عموما در برنامههای وب برای نمایش فایلهای پویای باینری تولید شده، یا ابتدا آنها را بر روی سخت دیسک ذخیره کرده و مسیر نهایی را به نحوی به کاربر نمایش میدهند و یا فایل را بدون ذخیره سازی...
عموما در برنامههای وب برای نمایش فایلهای پویای باینری تولید شده، یا ابتدا آنها را بر روی سخت دیسک ذخیره کرده و مسیر نهایی را به نحوی به کاربر نمایش میدهند و یا فایل را بدون ذخیره سازی، در مرورگر کاربر اصطلاحا Flush میکنند. حالت Flush سبب نمایش صفحه دیالوگ ذخیره سازی فایل گردیده و در همینجا Response خاتمه خواهد یافت.
برای نمونه در اینجا توسط متد inMemoryFile، یک فایل PDF در حافظه تشکیل شده و سپس به صورت یک Byte Array بازگشت داده میشود. در ادامه کار، این اطلاعات در مرورگر کاربر Flush خواهد شد:
و برای نمایش آن در یک iframe در صفحه:
سؤال: فرض کنید Adobe reader بر روی سیستم نصب است و مرورگر با استفاده از Active-X آن میتواند این نوع فایلها را نمایش دهد. آیا راهی وجود دارد تا بجای نمایش save popup dialog، این فایل توسط مرورگر نمایش داده شود؟
پاسخ: بلی. در کدهای فوق تنها کافی است یک سطر آن تغییر کند:
در اینجا تنها نحوه مقدار دهی content-disposition تفاوت کرده است. حالت attachment سبب نمایش save popup dialog میشود و مقدار inline، فایل را در مرورگر نمایش خواهد داد.
اینبار اگر برنامه را اجرا کنیم، iframe ایی که به PdfHandler.ashx اشاره میکند، فایل PDF را در صفحه نمایش میدهد.
- ASP.net
- 1k بازدید
- 3 تشکر