Я предполагаю, что поскольку это ранее работало до нового требования загрузки файла, который вы отправляете в JSON. (В будущем было бы полезно, если бы вы показали, как вы делаете запрос.)
Файлы могут быть «загружены» через JSON, но они должны быть отправлены в формате, который может быть включенв объекте JSON, а именно: массив JS int или строка в кодировке Base64. ASP.NET Core может справиться с любым из них и свяжет значение с byte[]
.
. Без кода, который делает запрос, трудно дать вам гораздо больше рекомендаций, но вам, по сути, просто нужнодобавьте свойство byte[]
в модель представления, а затем при выполнении запроса прочитайте данные файла и запишите их в JSON в виде массива int или строки в кодировке Base64, соответствующих этому имени свойства. Например, если вы делаете запрос через JavaScript, вы можете использовать File API для получения данных для файла во входных данных для загрузки.
IFormFile
только для multipart/form-data
закодированных запросов, иВы не можете смешивать и сопоставлять кодировки тела запроса при использовании связывателя моделей. Поэтому вам придется либо прекратить использование JSON, либо отправить файл в объект JSON, как описано выше, вместо использования IFormFile
.