Что я упускаю? Как заставить кодировку filebase64 работать с моим конкретным кодом?
Контроллер:
public ActionResult Create() { var model = new Tickets(); PopulateLists(model); return View("Create"); } // POST: Tickets/Create [HttpPost] public ActionResult Create(Tickets model, HttpPostedFileBase files) { if (files != null && files.ContentLength > 0) { model.File1 = new byte[files.ContentLength]; files.InputStream.Read(model.File1, 0, files.ContentLength); model.File2 = new byte[files.ContentLength]; files.InputStream.Read(model.File2, 0, files.ContentLength); model.File3 = new byte[files.ContentLength]; files.InputStream.Read(model.File3, 0, files.ContentLength); } if (ModelState.IsValid) { PopulateLists(model); _db.Tickets.Add(model); _db.SaveChanges(); // TODO: Add insert logic here return RedirectToAction("Tickets"); } return View("Tickets"); }
Модель:
//omitted above code, not related to this section of code everything above here works fine. public byte[] File1 { get; set; } public byte[] File2 { get; set; } public byte[] File3 { get; set; }
Смотреть:
//omitted not related to this section of code, everything above here works fine, <div class="form-group"> <div class="col-md-offset-2 col-md-10"> <input type="file" id="File1" name="File1"/> </div> <div class="col-md-offset-2 col-md-10"> <input type="file" id="File2" name="File2" /> </div> <div class="col-md-offset-2 col-md-10"> <input type="file" id="File3" name="File3" /> <h3 /> </div> </div>
Только сейчас, когда я дошел до того, что хочу загрузить файлы в свой проект, у меня есть довольно хорошее представление о том, как я собираюсь добавить его в проект, однако какие поля я буду использовать в таблице базы данных (я должен сказать, тип полей) Если или вы рекомендуете что-то еще?
Имейте в виду, что я использую базу данных c#6, MVC5/6 Razor sql и asp.net с entity framework все остальное, что вам нужно знать, спрашивайте, но спрашивайте четко, потому что я все еще могу неправильно понять, так как я новичок. Заранее спасибо всем за ваши предложения!
Что я уже пробовал:
все еще исследуя, прежде чем что-либо реализовать в проекте... Я новичок (4 месяца самообучения)
Timothy Heckler
Я получаю ошибку:
Входные данные не являются допустимой строкой Base-64, поскольку они содержат неосновные 64 символа, более двух символов заполнения или недопустимый символ среди символов заполнения.
Описание: необработанное исключение возникло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения Об Исключении: Система.FormatException: входные данные не являются допустимой строкой Base-64, поскольку они содержат неосновные 64 символа, более двух символов заполнения или недопустимый символ среди символов заполнения.
Ошибка Источника:
Необработанное исключение было сгенерировано во время выполнения текущего веб-запроса. Информацию о происхождении и местоположении исключения можно определить с помощью приведенной ниже трассировки стека исключений.
трассировка стека:
[FormatException: входные данные не являются допустимой строкой Base-64, поскольку они содержат неосновные 64 символа, более двух символов заполнения или недопустимый символ среди символов заполнения. ]
Система.Конвертировать.FromBase64_Decode(типа char* startInputPtr, типа int32 inputLength, байт* startDestPtr, типа int32 destLength) +12271509
Система.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength) +130
Система.Convert.FromBase64String(String s) +42
Системы.Веб.В MVC.ByteArrayModelBinder.BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +98
Системы.Веб.В MVC.DefaultModelBinder.GetPropertyValue(ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor, IModelBinder propertyBinder) +17
Системы.Веб.В MVC.DefaultModelBinder.BindProperty(ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor) +382
Системы.Веб.В MVC.DefaultModelBinder.BindProperties(ControllerContext controllerContext, ModelBindingContext bindingContext) +122
System. Web.Mvc.DefaultModelBinder. BindComplexElementalModel(ControllerContext controllerContext, ModelBindingContext bindingContext, объектная модель) +55
Системы.Веб.В MVC.DefaultModelBinder.BindComplexModel(ControllerContext controllerContext, ModelBindingContext восстановления команда bindingcontext) +1230
Системы.Веб.В MVC.DefaultModelBinder.BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +348
Системы.Веб.В MVC.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) +338
Системы.Веб.В MVC.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +105
Системы.Веб.В MVC.Асинхронность.&ЛТ;&ГТ;с__DisplayClass21.&ЛТ;begininvokeaction&ГТ;б__19(объект asynccallback метод asynccallback, объект параметр asyncstate) +743
System.Web.Mvc.Async.WrappedAsyncResult`1. CallBeginDelegate(asynccallback callback, Object callbackState) +14
System.Web.Mvc. Async.WrappedAsyncResultBase`1. Begin(обратный вызов AsyncCallback, состояние объекта, тайм-аут Int32) +128
Системы.Веб.В MVC.Асинхронность.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, asynccallback callback, состояние объекта) +328
System. Web.Mvc. Controller. & lt;beginexecutecore & gt;b__1c (AsyncCallback asyncCallback, Object asyncState, ExecuteCoreState innerState) +25
System.Web.Mvc.Async.WrappedAsyncVoid`1. CallBeginDelegate(asynccallback callback, Object callbackState) +30
System.Web.Mvc. Async.WrappedAsyncResultBase`1. Begin(обратный вызов AsyncCallback, состояние объекта, тайм-аут Int32) +128
Системы.Веб.В MVC.Контроллер.BeginExecuteCore(обратный вызов AsyncCallback, состояние объекта) +556
System. Web.Mvc. Controller.<beginexecute>b_ _ 14(AsyncCallback asyncCallback, Object callbackState, Controller controller) +18
System. Web.Mvc.Async.WrappedAsyncVoid`1. CallBeginDelegate(asynccallback callback, Object callbackState) +20
System.Web.Mvc. Async.WrappedAsyncResultBase`1. Begin(обратный вызов AsyncCallback, состояние объекта, тайм-аут Int32) +128
Системы.Мы
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.