Использование angularjs 1.3 и C # .net core web api
У меня есть ng-file-upload, который используется для загрузки файла. Когда вызывается метод загрузки, я хочу передать дополнительный массив некоторых данных в метод загрузки, который затем получен методом в моем веб-API. Вот мой ng-файл-загрузка
factory.upload = function (file, myArray) {
var url = '{0}upload'.format(apiPath)
return Upload.upload({
url: url,
arrayKey: '',
data: { file: file, myArray: myArray}
}).then(function (res) {
return res;
});
};
Ниже мой webapi:
[HttpPost("upload")]
public async Task<IActionResult> FileUpload(IFormFile file, List<string> myArray)
{
//code
}
И, наконец, вот массив, который я пытаюсь передать вместе с загрузкой в мой webapi:
[
{
id: "1",
name: "steve"
},
{
id: "2",
name: "adam"
}
]
Проблема в моем webapi, параметр myArray, который должен принимать массив из пользовательского интерфейса, всегда равен нулю. Я искал онлайн и упомянул добавить
arrayKey: ''
Но все еще не работает. Любые входы?
--- Обновлено ---
Я создал массив строк как:
var cars = ["steve", "adam", "ronnie"];
И обновил мой API как
List<ArrayItem> myArray
Код выше работает. Похоже, есть проблема с передачей массива.
Я передаю следующий массив, создавая так:
var myArray= [];
for (var i = 0; i < myJson.length; i++) {
myArray.push({
id: myJson[i].id,
name: myJson[i].name,
});
}
Результат выше, как видно из консоли:
Array(2)
0:{id: "1", name: "steve"}
1:{id: "2", name: "adam"}
Чего здесь не хватает?