Отправка файлов через Axios в Asp.net Core Api?

Как я могу отправить свои файлы с моего javascript (файлы через реагировать dropzone) на мой основной api asp.net?

Я использую аксиомы и у меня что-то вроде этого

var data = new FormData();
data.append('folderName', "4141515");
data.append('file', files[0].fileObject); //dropzone wraps the fileobject
axiosInstance2.post("/inventories/ImportImage", data)





[HttpPost("ImportImage")]
public async Task<IActionResult> ImportImage(IFormFile file, string folderName){}

Это работает, но заполняется только «файл», переменная «имя папки» пуста.

Пытался вставить в модель, но ничего не вышло (код статуса 400)

public class Test
{

    public IFormFile file { get; set; }
    public string folderName { get; set; }
}

Кроме того, FormData - единственный способ отправить его на сервер?

Редактировать

Похоже, мне нужно использовать [FromForm] Test test

Не знаю, что специально делают axios. Но для обычного сообщения jQuery с FormData ваш код должен работать (будет заполнено имя папки)

Shyju 04.10.2018 00:55

Какая у вас версия ядра asp.net? Был ли у вас [ApiController] на Controller? Как и в моем тесте, это связано с [ApiController], и здесь есть два варианта: один - удалить [ApiController], а другой - добавить [FromForm], чтобы указать источник связывания для folderName, например ImportImage(IFormFile file, [FromForm]string folderName).

Edward 04.10.2018 03:51

Использование модели является правильным, я также должен убедиться, что она попадает в правильный маршрут, и что вызывает код 400?

Anton Toshik 04.10.2018 09:05
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
944
1

Ответы 1

С контроллером api ядра .net вы должны использовать тег [FromBody] перед параметром и изменить параметр на тип Test, он привяжет значения к классу, который вы можете использовать. Нравится: public async Task ImportImage([FromBody] Test your_values_here){}

Другие вопросы по теме