static void FilePosted(MvcDynamicForms.Fields.FileUpload fileUploadField, EventArgs e) { // here, you can do something with the posted file // (save it, email it, etc, or test it and report back to the user) // this event gets fired as soon as the dynamic form is model bound var thisDirectory = AppDomain.CurrentDomain.BaseDirectory + @"\Content\" + UserKey; if (!Directory.Exists(thisDirectory)) Directory.CreateDirectory(thisDirectory); var fileNameArray = fileUploadField.PostedFile.FileName.Split('\\'); var fileName = fileNameArray[fileNameArray.GetUpperBound(0)]; var fileSavePath = thisDirectory + @"\" + fileName; fileUploadField.PostedFile.SaveAs(fileSavePath); }
public ActionResult Respond(MvcDynamicForms.Form form) { var formInfo = (FormInfoSection) System.Configuration.ConfigurationManager.GetSection("formInfoGroup/formInfo"); var formUid = new Guid(Request["FormUid"]); if (form.Validate()) { var responseUid = Guid.NewGuid(); _mvcResponses.AddToFormResponses(new FormResponse { Uid = responseUid, FormUid = formUid, Timestamp = DateTime.Now }); foreach (var inputfield in form.InputFields) { string response; var fieldType = inputfield.GetType().ToString(); switch (fieldType) { case "MvcDynamicForms.Fields.FileUpload": response = inputfield.Response.Split('\\')[inputfield.Response.Split('\\').GetUpperBound(0)]; break; default: response = inputfield.Response; if (response.Length > formInfo.MaxLength.Value) response = response.Substring(0, formInfo.MaxLength.Value); break; } var key = new Guid(inputfield.Key); if (fieldType != "MvcDynamicForms.Fields.Literal" && !string.IsNullOrEmpty(response)) _mvcResponses.AddToFormResponseItems(new FormResponseItem { Uid = Guid.NewGuid(), FormResponseUid = responseUid, FormItemUid = key, ResponseStr = response, Timestamp = DateTime.Now }); } _mvcResponses.SaveChanges(); return null; } ViewData["FormUid"] = formUid.ToString(); ViewData["FormName"] = _mvcForms.Forms.FirstOrDefault(f => f.Uid == formUid).FormName; return View(form); }