В отношении моделей загрузки изображений и получения информации о файле в .NET core API и Angualar

#angular #asp.net-core #.net-core #asp.net-core-webapi

#угловатый #asp.net-core #.net-core #asp.net-core-webapi

Вопрос:

в одной из моих функций мне нужно добавлять изображения вместе с другими данными формы, поэтому я использую данные формы для отправки файлов. В запросе get мне просто нужно показать изображения, чтобы я получал информацию об изображении, такую как сохраненный путь, имя для отображения изображений. Я создал 3 отдельные модели, т.Е. BaseModel, getModel и PostModel для того же, с разницей только в 1 параметре в получении и публикации. Вот мои модели.

  public class PatientInformationBaseViewModel
    {
        public Guid id { get; set; }
        public string firstName { get; set; }
        public string lastName { get; set; }
        public string email { get; set; }
        public int age { get; set; }
        public string phone { get; set; }
        public GenderViewModel gender { get; set; }
        public string history { get; set; }
        public string caseNo { get; set; }
    }

public class GetPatientInfomationViewModel: PatientInformationBaseViewModel
    {
        public FileInformationViewModel patientPhotoInformation { get; set; }
    }

 public class PostPatientInformationViewModel : PatientInformationBaseViewModel
    {
        [JsonIgnore]
        public IFormFile patientPhoto { get; set; }
    }
 

Я создал модель для приема formdata в контроллере как

 public class PatientInformationFormDataViewModel
    {
        public string patientInformation { get; set; }
        public IFormFile patientPhoto { get; set; }
    }
 

В контроллере я десериализуюсь в модель post, а затем отправляю ее на свой уровень обслуживания. На моем уровне обслуживания я добавляю информацию о пациенте в базу данных и возвращаю идентификатор GUID, который является моим первичным ключом таблицы. Используя поле Id, я загружаю изображение, т.е. Сохраняю файлы в файловой системе и возвращаю детали, а затем вызываю запрос для сохранения информации о файле в таблице.

При получении данных для отображения в таблице Angular я использую getModel, поскольку мне не нужен фактический файл. Если я объединю все модели, один из параметров будет бесполезен и останется нулевым, поэтому я выбрал этот подход.

Это правильный подход или есть какой-либо лучший способ с точки зрения соглашений. Заранее благодарю вас

Комментарии:

1. Вы не можете отобразить a FormFile под тегом Image. Вы можете вернуть путь или URL-адрес строкового типа.

2. Не понял вашу точку зрения. Я отправляю formdata и привязываю его к IFormFile в .net core API controller