using Microsoft.AspNetCore.Mvc;
using IWois_Core.Data; //ApplicationDbContext
using Microsoft.AspNetCore.Http;
using System.IO;
using Microsoft.AspNetCore.Hosting; //*IHostingEnvironment
using System.Threading.Tasks; //Task
using System.Data;
using System.Collections.Generic;
namespace IWois_Core.Areas.Demo_02.Controllers
{
[Area("Demo_02")]
public class DemoController : Controller
{
#region Controller Init
private readonly ApplicationDbContext _dbContext;
private readonly IHostingEnvironment _hostingEnvironment;
public
DemoController(ApplicationDbContext dbContext, IHostingEnvironment
hostingEnvironment)
{
//----< Init: Controller >----
_dbContext = dbContext;
_hostingEnvironment = hostingEnvironment;
//----</ Init: Controller >----
}
#endregion
#region Demo: Ajax_Image_Upload
//----------------<
region Demo: Ajax_Image_Upload >-----------------
public IActionResult demo_start()
{
//-------------< load StartView
>-------------
return View("demo_02_Ajax_Image_Upload");
//-------------</ load StartView
>-------------
}
[HttpPost]
public IActionResult
ajax_Image_Upload_post(IFormCollection formFields)
{
//-------------< demo_jQuery_01_post
>-------------
//< out >
return View("demo_02_Ajax_Image_Upload");
//</ out >
//-------------</ demo_jQuery_01_post
>-------------
}
[HttpPost]
public async Task<IActionResult>
UploadFilesAjax()
{
//< init >
long uploaded_size = 0;
string path_for_Uploaded_Files =
_hostingEnvironment.WebRootPath + "\\User_Files\\_Upload_Folder\\";
//</ init >
//< get form_files >
//IFormFile uploaded_File
var uploaded_files = Request.Form.Files;
//</ get form_files >
//------< @Loop: Uploaded Files
>------
int iCounter = 0;
string sFiles_uploaded = "";
List<string> list_Files = new List<string>();
foreach (var uploaded_file in uploaded_files)
{
//----< Uploaded File >----
iCounter++;
uploaded_size +=
uploaded_file.Length;
sFiles_uploaded += "\n" + uploaded_file.FileName;
list_Files.Add(uploaded_file.FileName);
//< Filename >
string
uploaded_Filename = uploaded_file.FileName;
string new_Filename_on_Server =
path_for_Uploaded_Files + "\\" + uploaded_Filename;
//</ Filename >
//< Copy File to Target >
using (FileStream stream = new FileStream(new_Filename_on_Server,
FileMode.Create))
{
await uploaded_file.CopyToAsync(stream);
}
//< Copy File to Target >
//----</ Uploaded File >----
}
//------</ @Loop: Uploaded Files
>------
//return Json(sFiles_uploaded);
return Json(list_Files);
}
//----------------</
region Demo: jQuery_Functions >-----------------
#endregion
}
}
|