получить 415 неподдерживаемый тип носителя при тестировании моего .Net Web API с помощью почтальона - PullRequest
1 голос
/ 28 октября 2019

Приведенный ниже код является моим UploadImagea действием в моем контроллере.

        [HttpPost]
        [ActionName("UploadImage")]
        [AllowAnonymous]
        [Route("[action]")]
        public async Task<string> UploadImage( IFormFile file, string folder, int SchoolId, byte EnvironmentType)
        {
            _galleryService.InvokeAzureSettings(SchoolId, EnvironmentType);
            try
            {
                var res = await ((GalleryService)_galleryService).UploadImage(folder, file);
                return res;
            }
            catch (Exception ex)
            {
                return ex.ToString();
            }
        }

Ниже приведены скриншоты от моего почтальона, тип контента, который я тестирую, равен multipart/form-data. Все остальные действия работают нормально. Я не знаю, почему я получаю код ошибки 415, как ее решить? sc1 sc2

1 Ответ

0 голосов
/ 28 октября 2019

Создание модели для хранения данных требуемой формы

public class Model {
    public IFormFile file { get; set; }
    public string folder { get; set; }
    public int SchoolId { get; set; }
    public byte EnvironmentType { get; set; }
}

Обновите действие, чтобы ожидать данные из формы, используя соответствующий атрибут

[HttpPost]
[ActionName("UploadImage")]
[AllowAnonymous]
[Route("[action]")]
public async Task<string> UploadImage([FromForm] Model model) {

    _galleryService.InvokeAzureSettings(model.SchoolId, model.EnvironmentType);
    try {
        var res = await ((GalleryService)_galleryService).UploadImage(model.folder, model.file);
        return res;
    } catch (Exception ex) {
        return ex.ToString();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...