Я вызываю метод api post с использованием axios в моем приложении React, метод post имеет два параметра, 1 параметр как просто строку и 2-й параметр - это массив строк, первый параметр слева, который является просто строкой, передается вAPI правильно, но массив строк не передается, может кто-нибудь, пожалуйста, проверьте и дайте мне знать, что в нем не так? Заранее спасибо.
handleDownload = (e) => {
e.preventDefault();
var formData = new FormData();
formData.append('communityname', this.state.selectedCommunity);
formData.append('files', this.state.files);
axios({
method: 'post',
url: clientConfiguration['filesApi.local'],
data: formData
});
}
И мой метод API выглядит следующим образом:
[HttpPost]
public FileContentResult Post([FromForm] string communityName, [FromForm] string[] files)
{
string rootPath = Configuration.GetValue<string>("ROOT_PATH");
string communityPath = rootPath + "\\" + communityName;
byte[] theZipFile = null;
using (MemoryStream zipStream = new MemoryStream())
{
using (ZipArchive zip = new ZipArchive(zipStream, ZipArchiveMode.Create, true))
{
foreach (string attachment in files)
{
var zipEntry = zip.CreateEntry(attachment);
using (FileStream fileStream = new FileStream(communityPath + "\\" + attachment, FileMode.Open))
using (Stream entryStream = zipEntry.Open())
{
fileStream.CopyTo(entryStream);
}
}
}
theZipFile = zipStream.ToArray();
}
return File(theZipFile, "application/zip", communityName + ".zip");
}
, и я получаю значение параметра files, как показано ниже, клиентский скрипт публикует файлы как одинСтрока в виде «[объект объекта], [объект объекта], [объект объекта], [объект объекта]» вместо отдельной строки массивов, любая помощь, пожалуйста, спасибо заранее.