|
12 / 12 / 2
Регистрация: 06.06.2012
Сообщений: 97
|
||||||||||||||||
Отправка файла Web.Api в классе11.01.2019, 13:13. Показов 10261. Ответов 21
Добрый день, уважаемые форумчане!
Хочу отправить файл в webApi Если мы делаем вот так
Но я хочу передать IFormFile как поле в классе Например так Класс
Конечно я могу обойти эту проблему разделив логику на два метода. Но раз есть такая возможность для передачи IFormFile, хотелось бы им и воспользоваться. Но как со стороны фронтенда это сделать, хоть убей не пойму.
0
|
||||||||||||||||
| 11.01.2019, 13:13 | |
|
Ответы с готовыми решениями:
21
Отправка картинки на сервер из WPF - Web Api Core 2 сервиса (WCF Web API и ASP.NET Web API) на одном хосте Отправка файла на сервер VK API |
|
.NET C#,ASP.NET MVC
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
|
|||
| 12.01.2019, 01:06 | |||
|
Так шлите остальные данные тоже в форме, главное чтобы название boundary с файлом совпадало с именем поля в моделе.
0
|
|||
|
12 / 12 / 2
Регистрация: 06.06.2012
Сообщений: 97
|
|
| 13.01.2019, 20:23 [ТС] | |
|
Все данные слать в форме, это конечно не плохо. Особенно когда класс состоит из нескольких полей. Но если класс, состоит из полей, которые тоже являются классами, то вложить такие поля в FormData, я не смог. Можно пример конкретной реализации? Если конечно не затруднит.
0
|
|
|
.NET C#,ASP.NET MVC
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
|
||
| 13.01.2019, 21:36 | ||
|
Prop1.NestedProp2.NestedProp3 итд...
0
|
||
|
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
|
||
| 14.01.2019, 15:14 | ||
|
Тоже самое можно сделать для отдельных свойств модели.
0
|
||
|
12 / 12 / 2
Регистрация: 06.06.2012
Сообщений: 97
|
|||
| 20.01.2019, 02:26 [ТС] | |||
|
Это попахивает бредом. Без обид конечно. Я конечно же решил данную проблему. Разделил на два этапа, вначале создаю объект класса в одним из методов, а вторым добавляю файл, но это конечно тоже решение аховое. Добавлено через 5 минут
0
|
|||
|
.NET C#,ASP.NET MVC
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
|
|||
| 20.01.2019, 14:59 | |||
|
Как десереализатор понимает что в поле "Prop1" нужно положить одно значение, а в "Prop2" Другое? По имени инпутае. Как тогда ему понять, что нужно положить в "ClassProp1.ClassProp2.ClassProp3.ClassP rop4..." Соотвественно так же по имени инпута которое будет путем к конченому полю
1
|
|||
|
12 / 12 / 2
Регистрация: 06.06.2012
Сообщений: 97
|
||
| 20.01.2019, 16:21 [ТС] | ||
|
0
|
||
|
.NET C#,ASP.NET MVC
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
|
|||
| 20.01.2019, 16:26 | |||
|
MVC это паттерн. ASP.NET Core имеет возможность этот паттер реализовать (причем отлично).
0
|
|||
|
12 / 12 / 2
Регистрация: 06.06.2012
Сообщений: 97
|
|||||||||||||||||
| 20.01.2019, 16:58 [ТС] | |||||||||||||||||
В первом случае, я не пойму как и из клиента отдать файл в классе. Во втором, вообще ошибка. Единственно что удлалось сделать, это
Так как в одном запросе, я не смог передать класс документа(для созадния), и файл к нему(для добавления к документу) Если Вы знаете, как это сделать, то поделитесь кодом. Сразу его и проверим.
0
|
|||||||||||||||||
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
|
||
| 20.01.2019, 17:02 | ||
|
По этому , все просто , делаете для представления свою модель , отражаете на нее необходимые поля бизнес модели и не имеете никаких проблем.
0
|
||
|
12 / 12 / 2
Регистрация: 06.06.2012
Сообщений: 97
|
||
| 20.01.2019, 17:14 [ТС] | ||
|
Есть задача, создать документ, прикрепив к нему несколько файлов. Запрос через Web.Api. У меня ПРОБЛЕМА, нет возможности передать IFormFile ни в классе, ни вместе с классом. Как не надо делать я понял, спасибо. Подскажите, как надо сделать. Забудьте о базе, и о прочей лабуде. Конкретный вопрос.
0
|
||
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
|
|
| 20.01.2019, 19:28 | |
|
https://docs.microsoft.com/en-... ata-part-2
Я , кстати , не понял , Вы с веб.апи контроллером взаимодействуете или с mvc контроллером ? - ибо есть принципиальная разница , клиентами веб.апи могут быть любые приложения и они должны придерживаться определенного протокола передачи данных , из стандартных это может быть Json или xml , если же клиентом становится браузер и отправляет данные формы - то естественно такие данные веб.апи контроллер не поймет и нужно будет вытягивать их вручную из контекста запроса , а по сути написать своего поставщика , придерживаясь определенных интерфейсов для таких случаев в web.api фреймворке. Mvc контроллер , в отличии от апи контроллера , нацелен на работу в формате стандарта html форм - ключ/значение в теле пакета или в заголовке. , и тут уже применяются совершенно иные правила разбора и десериализации данных запроса.
0
|
|
|
.NET C#,ASP.NET MVC
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
|
||
| 20.01.2019, 21:47 | ||
|
0
|
||
|
12 / 12 / 2
Регистрация: 06.06.2012
Сообщений: 97
|
|||
| 20.01.2019, 21:53 [ТС] | |||
|
Добавлено через 1 минуту
0
|
|||
|
12 / 12 / 2
Регистрация: 06.06.2012
Сообщений: 97
|
||||||||||||||||||||||
| 20.01.2019, 22:42 [ТС] | ||||||||||||||||||||||
|
Набросал следующий контроллер. Net.Core 2.2 Web.Api
Test2 - это класс с вложенным полем IFormFile Исходя из Ваших советов, я создал три метода Первый
На первый взгляд вроде как все не плохо Пытаемся передать класс, и сам файл И получаем Unsupported Media Type С попыткой отправить файл и класс мы покончили Берем второй метод
Смотрим swagger, И это тот случай, когда я не нашел способ со стороны клиента передать файл в классе. Если, кто то знает как это сделать, то добро пожаловать. Третий метод, это идея lvlkoo передавать значение полей как поля из Form посмотрим на сваггер И видим, что вложенного класса, просто в формате запроса нет. Как к нему добраться не понятно.А если бы и было понятно, то описывать все вложенные классы через точку, это бред. Как потом поддерживать продукт? Вот вкратце и все. Хотя какой нафиг вкратце ) Адрес для теста, могу дать, если будет нужно!
0
|
||||||||||||||||||||||
|
12 / 12 / 2
Регистрация: 06.06.2012
Сообщений: 97
|
|
| 20.01.2019, 22:51 [ТС] | |
|
Извините не вложил класс TEst3 в класс Test. В этом случае сваггер выглядит вот так
Но, как я говорил нам от этого не легче!
0
|
|
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
|
||||
| 21.01.2019, 02:09 | ||||
Сообщение было отмечено speed5.Mexanik как решение
Решениечто касается укладки комплексных свойств в поля через точку в mvc для форм - - так это только Mvc фича , которая стандартным форматом передачи данных не является и нигде кроме как в asp net mvc не поддерживается. Скажем , отправьте данные в таком формате на любой другой rest сервис и скорее всего вас жестоко обругают , тогда как xml/json все понимают. Добавлено через 14 минут Но , так же там был стандартный FormUrlEncodedFormatter.
1
|
||||
|
12 / 12 / 2
Регистрация: 06.06.2012
Сообщений: 97
|
|||
| 21.01.2019, 02:46 [ТС] | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 19.12.2019
Сообщений: 5
|
|
| 22.09.2020, 16:15 | |
|
Добрый день. А не подскажите как реализовал отправку файлов из декстопа на сервер webApi??
0
|
|
| 22.09.2020, 16:15 | |
|
Помогаю со студенческими работами здесь
20
Web audio api доступ к информации внутри файла Отправка СМС в API 15
Telegram API отправка аудио Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во
всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
|