1
                                    
                                    
                                    0
                                
                        
                                    
                                    0
                                آپلود چند فایل و تصویر به طور همزمان در Asp.Net Core
آپلود چند فایل و تصویر به طور همزمان در Asp.Net Core
در این پست قصد داریم تا نحوه آپلود چندین فایل و تصویر را به صورت همزمان در Asp.Net Core را مورد بررسی قرار دهیم.
ابتدا کنترلری به نام UploadFileController ایجاد کنید و کدهای آن را به صورت زیر تغییر دهید
using System.Collections.Generic;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Net.Http.Headers;
namespace MvcAspCore.Controllers
{
    public class UploadFileController : Controller
    {
        private IHostingEnvironment hostingEnv;
        public UploadFileController(IHostingEnvironment env)
        {
            // for upload File
            this.hostingEnv = env;
        }
        #region UploadFiles
        public IActionResult UploadFiles()
        {
            return View();
        }
        [HttpPost]
        public IActionResult UploadFiles(IList<IFormFile> files)
        {
            long size = 0;
            foreach (var file in files)
            {
                var filename = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');
                filename = hostingEnv.WebRootPath + $@"\{filename}";
                size += file.Length;
                using (System.IO.FileStream fs = System.IO.File.Create(filename))
                {
                    file.CopyTo(fs);
                    fs.Flush();
                }
            }
            ViewBag.Message = $"{files.Count} file(s) / { size}bytes uploaded successfully!";
            return View();
        }
        #endregion
    }
}
در اینجا ابتدا تنظیمات اولیه در سازنده کنترلر انجام دادیم و سپس یک متد از نوع IActionResult به نام UploadFiles ایجاد کردیم و برای آپلود چندین فایل از یک foreach برای خواندن فایل های دریافتی از سمت کاربر استفاده کردیم.
کدهای View
حال یک view برای متد UploadFiles ایجاد کنید و کدهای آن را به صورت زیر تغییر دهید
@{
    ViewData["Title"] = "آپلود فایل";
}
<form asp-action="UploadFiles" asp-controller="UploadFile" method="post" enctype="multipart/form-data">
    <input type="file" name="files" multiple/>
    <input type="submit" value="آپلود"/>
</form>
@ViewData["ViewBag.Message"]
در کدهای بالا کار خاصی انجام ندادیم و فقط یک فرم برای آپلود ایجاد کردیم.
                    
                    
                    
نظر / سوال