آموزش دانلود فایل در MVC

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

آموزش دانلود فایل در MVC

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

پیش زمینه

هنگامی که اولین بار 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);
      }

کافی است تا نام فولدری که فایل در آن قرار دارد را در Path و نام فایل دانلودی را در fileBuytes و نام فایل پس از دانلود را مانند زیر قرار دهیم:

        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);
        }

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

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

 

فایل های ضمیمه