У меня есть этот код для добавления файла к определенному индексу в коллекциях, отправленных из 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
Отправка загруженных файлов из Javascript в конечную точку С# ⇐ C#
Место общения программистов C#
-
Anonymous
1730095334
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; }
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79132211/sending-uploaded-files-from-javascript-to-a-c-sharp-endpoint[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия