Передать путь входящего и затем сохраненного csv файла в TextFieldParser
Есть проект на MVC UploadTables, в котором я принимаю входящий csv файл сохраняю его в папке Upload внутри wwwroot, а затем мне необходимо его распарсить и сохранить в базу данных, все реализовано только не знаю как передать путь файла(неизвестно изначально имя файла) в TextFieldParser
[HttpPost]
public IActionResult Index(List<IFormFile> postedFiles)
{
string wwwPath = this.Environment.WebRootPath;
string contentPath = this.Environment.ContentRootPath;
string path = Path.Combine(this.Environment.WebRootPath, "Uploads");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
List<string> uploadedFiles = new List<string>();
foreach (IFormFile postedFile in postedFiles)
{
string fileName = Path.GetFileName(postedFile.FileName);
using (FileStream stream = new FileStream(Path.Combine(path, fileName), FileMode.Create))
{
postedFile.CopyTo(stream);
uploadedFiles.Add(fileName);
ViewBag.Message += string.Format("<b>{0}</b> uploaded.<br />", fileName);
}
}
return View();
}
В коде выше я принимаю файл и сохраняю его в папке Upload, которую я создаю в папке wwwroot + вывожу список загружаемых файлов
public static void Initialize(IServiceProvider serviceProvider)
{
using (var context = new UploadTablesContext(serviceProvider.GetRequiredService<DbContextOptions<UploadTablesContext>>()))
{
using (TextFieldParser parser = new TextFieldParser("???"))
{
List<Employees> list = new List<Employees>();
parser.TextFieldType = FieldType.Delimited;
parser.SetDelimiters(",");
var fields = parser.ReadFields();
while (!parser.EndOfData)
{
fields = parser.ReadFields();
list.Add(new Employees
{
Payroll_Number = fields[0],
Forenames = fields[1],
Surname = fields[2],
Date_of_Birth = fields[3],
Telephone = fields[4],
Mobile = fields[5],
Address = fields[6],
Address_2 = fields[7],
Postcode = fields[8],
Email_Home = fields[9],
Start_Date = fields[10]
});
}
var subset = list;
foreach (Employees theElement in subset)
{
context.Employees.Add(theElement);
}
context.SaveChanges();
}
}
}
Здесь мне нужно передать путь к будущему загруженному файлу чтобы его потом распарсить и передать значение в базу данных, которые затем я выведу на странице.
И весь вопрос в том как передать путь к файлу, или же есть ли способ сразу передать загружаемый файл в TextFieldParser без его сохранения?