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);
        }
Example #2
0
 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));
 }