public IActionResult AddPers(IFormFile uploadImage, Pers character) { // Помещение избображения в массив байтов using (var memStream = new MemoryStream()) { // Копирование файла в память uploadImage.CopyTo(memStream); // Создание массива байтов из памяти var imgBytes = memStream.ToArray(); // Объявление экзкмпляра класса для передачи данных в Web Api AddPersClass addPers = new AddPersClass() { NewPers = character, imageName = uploadImage.FileName, Upload = imgBytes }; // получение результата от сервера if (ipers.AddPers(addPers).StatusCode == HttpStatusCode.OK) { return(Redirect("~/Pers/Pers")); } } // Перенос на страницу персонажей return(Redirect("~/Pers/Pers")); }
/// <summary> /// Метод формирования экзепляра вспомогательного класса для загрузки данных в БД /// </summary> /// <returns></returns> public async Task <bool> UploadPers() { try { // Формирование массива байтов из файла изображения byte[] imgBytes = await Task.Run(() => File.ReadAllBytes(imagePath)); var imgName = Path.GetFileName(imagePath); // Объявление экзкмпляра вспомогательного класса для загрузки данных в БД AddPersClass addPers = new AddPersClass() { NewPers = this.NewPers, Upload = imgBytes, imageName = imgName }; // Отправка данных на сервер и получение ответа if (Api.AddPers(addPers).StatusCode == HttpStatusCode.OK) { return(true); } else { return(false); } } catch { return(false); } }
public async Task <bool> AddPers(AddPersClass pers) { // Присваивание нового имени файла изобрадежения string imageName = $"{Path.GetRandomFileName()}-{pers.imageName}"; // Путь к файу изображения, записываемый в БД pers.NewPers.Image = $@"https://localhost:5001/Images/{imageName}"; // Запись массива байтов на диск System.IO.File.WriteAllBytes($"wwwroot/Images/{imageName}", pers.Upload); // Добавление нового персонажа в контекст данных context.Characters.Add(pers.NewPers); // Сохранение изменений в БД await context.SaveChangesAsync(); return(true); }