قابلیت دانلود فایل در ASP.net MVC امری ضروری در هر وبسایت می باشد. در این مقاله با نحوه دانلود فایل در MVC آشنا خواهید شد.

دانلود فایل در ASP.net MVC

 

دانلود فایل در ASP.net MVC

عموما دانلود فایل به دو صورت انجام می‌گیرد. فایل‌ها درون بانک اطلاعاتی ذخیره می‌شوند (به فرمت بایت) یا فایل به صورت فیزیکی درون برنامه در سرور موجود است. تکه کد زیر در هر دو سناریو کار می کند و باید فرمت بایت برای دانلود فایل در نظر گرفته شود.

 

  • برای شروع ابتدا یک پوشه با نام Download در پروژه ایجاد می کنیم
  • سپس (Action) تعریف کرده و کدهای زیر را قرار میدهیم:
public ActionResult DownloadFile()
      {
          string path = AppDomain.CurrentDomain.BaseDirectory + "FolderName/";
          byte[] fileBytes = System.IO.File.ReadAllBytes(path + "filename.extension");
          string fileName = "filename.extension";
          return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
      }

 

  1. در خط اول به معرفی دامنه فعلی سایت پرداخته و در انتهای آن نام پوشه Download را اضافه می‌کنیم.
  2. حالا لازم است فایل مربوطه را به شکل Byte در حافظه ذخیره کنیم.
  3. پس در خط دوم علاوه بر معرفی مسیر نام دقیق فایل همراه با پسوند آن را قرار می‌دهیم.
  4. در خط سوم نام فایل را جهت ذخیره یکبار دیگر معرفی می‌کنیم.
  5. در انتها پارامترهای بالا را درون متد File پاس می‌دهیم.
public ActionResult DownloadFile()
{
    string path = AppDomain.CurrentDomain.BaseDirectory + "/Download/"; 
    byte[] fileBytes = System.IO.File.ReadAllBytes(path+"Logo_01.jpg");
    string fileName = "Logo_01.jpg";
    return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
}

 

برای استفاده از متد در ویو کافی است مانند زیر عمل نماییم تا با صدا زدن Action فایل مورد نظرمان دانلود شود:

@Html.ActionLink("برای دانلود فایل کلیک نمایید", "DownloadFile", new {})

 

این مطالب را از دست ندهید:

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *