Пример #1
0
        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"));
        }
Пример #2
0
        /// <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);
            }
        }
Пример #3
0
        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);
        }