تا %60 تخفیف خرید برای 5 نفر با صدور مدرک فقط تا
00 00 00

آموزش باز کردن فایل در مرورگر در ASP.NET Core به زبان ساده

حسین احمدی
حسین احمدی
2 پسند
143 بازدید
2 نظر
7 ماه قبل

چگونه در ASP.NET Core یک فایل را در مرورگر باز کنیم؟ در ASP.NET Core برای اینکه نتیجه یک درخواست در قالب فایل به سمت مرورگر ارسال شود، از متد File استفاده می کنیم. این متد Overload های مختلفی دارد که هر کدام کاربرد خاص خود را دارد. در حالت عادی، فایل درخواستی ما توسط مرورگر دانلود می شود، اما می توان فایل رو به جای دانلود در مرورگر باز کرد، این کار برای فایل هایی مثل فایل های متنی، فایل های PDF و تصاویر کاربرد دارد. در ابتدا با یک مثال ساده شروع می کنیم. فرض کنیم که میخواهیم یک فایل تصویر را به عنوان نتیجه درخواست برگردانیم، از کد زیر می توانیم استفاده کنیم:

var filePath = "File path to return";
return File(System.IO.File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.Read), "image/jpeg", "file1.jpg");

در حالت بالا، بعد از ارسال درخواست فایل مورد نظر برای ما دانلود می شود. اما فرض کنیم که میخواهیم فایل مورد نظر در مرورگر برای ما باز شود، برای اینکار باید حالت inline رو برای content disposation فایل برگشتی فعال کنیم، کد بالا رو به صورت زیر تغییر میدیم:

var filePath = "File path";
System.Net.Mime.ContentDisposition cd = new System.Net.Mime.ContentDisposition
{
 FileName = WebUtility.UrlEncode("file1.jpg"),
 Inline = true
};
Response.Headers.Add("Content-Disposition", cd.ToString());
return File(System.IO.File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.Read), "image/jpeg");

با اضافه کردن کد بالا با درخواست فایل، به جای دانلود تصویر ما در مرورگر باز می شود، نام فایل رو با متد UrlEncode به صورت Encode شده تبدیل کردیم، زیرا اگر نام فایل ما حاوی کاراکترهای یونیکد باشد در حالت عادی پیام خطا دریافت خواهیم کرد.

نظر شما
برای ارسال نظر باید وارد شوید.
2 نظر