Отправка загруженных файлов из Javascript в конечную точку С#C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Отправка загруженных файлов из Javascript в конечную точку С#

Сообщение Anonymous »

У меня есть этот код для добавления файла к определенному индексу в коллекциях, отправленных из JavaScript в конечную точку C#.
const data = row.querySelector(`td[data-bs-column="Action"]`);

if (data) {
const uploadElement = data.querySelector("input[type='file']");
if (uploadElement && uploadElement.files.length > 0) {
const files = Array.from(uploadElement.files);
// formData.append(`vm.Items[${itemIndex}].Attachment`, file);
if (files && files.length > 0) {
files.forEach((file, index) => {
formData.append(`Items[${itemIndex}].Attachments`, file);
});
}
}
}

//ENDPOINT
[HttpPost, Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
public async Task JSUpdateEvaluationItems(PerformanceViewerViewModel vm)
{
var files = HttpContext.Request.Form.Files; //TEST TO CHECK IF THE FILE IS RECEIVED
var result = await performanceRepository.UpdateEvaluationItems(vm);
return Json(result.ToString());
}

Как вы можете видеть здесь, я добавил эту строку кода var files = HttpContext.Request.Form.Files; //ТЕСТ, ЧТОБЫ ПРОВЕРИТЬ, ПОЛУЧЕН ФАЙЛ, чтобы проверить, есть ли файлы в данных формы, отправленных в конечную точку. И у него есть файлы, полученные от клиента.
Теперь модель представления на моей конечной точке устроена так
public class PerformanceViewerViewModel : BaseModel
{
public Credentials? Credentials { get; set; }
public Credentials? KRAOwner { get; set; }
public List? Roles { get; set; }
public PerformanceConfiguration? Configuration { get; set; }
public PerformanceInformation? Information { get; set; }
public List? Categories { get; set; }
public List? Goals { get; set; }
public List? Items { get; set; }
public List? Statuses { get; set; }
public List? Approvers { get; set; }
public List? StatusItems { get; set; }
public List? AppraisalItems { get; set; }
public List? Units { get; set; }
public List? Columns { get; set; }
}

Объектом, который получает вложение, является List? Элементы.
Но когда я проверяю вложения внутри элементов, файл не добавляется.
Элемент модели разработан вот так
public class Item : BaseModel
{
public Guid ParentTempID { get; set; }
public int ItemID { get; set; }
public int GoalID { get; set; }
public string? ItemName { get; set; }
public decimal ItemPercentage { get; set; }
public int UnitID { get; set; }
public string? UnitName { get; set; }
public bool Ratio { get; set; }
public string? Consolidated { get; set; }
public string? Result { get; set; }
public decimal ItemWeight { get; set; }
public bool OverrideWeight { get; set; }
public int ActiveCommentID { get; set; }
public List? Attachments { get; set; }
public List? CompanyTargets { get; set; }
public List? Filenames { get; set; }
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... p-endpoint
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»