public static string ProcessUploadedFile(JsonEvaluateViewModel model, string directoryPath) { string uniqueFileName = null; if (model.JsonFile != null) { string uploadsFolder = Path.Combine(directoryPath, "Json"); uniqueFileName = Guid.NewGuid().ToString() + "_" + model.JsonFile.FileName; string filePath = Path.Combine(uploadsFolder, uniqueFileName); //using disposes file stream properly using (var fileStream = new FileStream(filePath, FileMode.Create)) { model.JsonFile.CopyTo(fileStream); } uniqueFileName = filePath; } return(uniqueFileName); }
public IActionResult Index(JsonEvaluateViewModel model) { if (ModelState.IsValid && model.JsonFile != null) { try { //save the file string uniqueFileName = Utility.ProcessUploadedFile(model, hosting.WebRootPath); //deserialize List <MyArray> root = Utility.GetMenus(uniqueFileName); //initialize results model.MyResults = Utility.GetResults(root); } catch { model.ErrorMessage = "That was not a well formed Json file you uploaded."; } } return(View(model)); }