Я пытаюсь отправить некоторые файлы изображений, массив и список с помощью Ajax, но когда я читаю их в мейнтейнере, он не передает мне значения списка, значение равно нулю. Программа разработана на c# mvc vs 2022. Я использую следующий код:
var ImagenSeleccionada1 = $("#fileProducto1")[0].files[0];
var ImagenSeleccionada2 = $("#fileProducto2")[0].files[0];
var ImagenSeleccionada3 = $("#fileProducto3")[0].files[0];
var numero = $("#txtNumero").val();
var transaccion = {
movUser : "@User.Identity.Name",
movIdTransaction: "2",
movNumero: numero,
movEntidad: $("#cbbentidad").val()
}
var lista_conceptos = [];
$("#tabla tbody tr").each(function (index) {
var concepto = $(this).find("td").eq(0).html();
var check = $(this).find("input").prop('checked');
var calificacion ="NO CUMPLE"
if (check) {
calificacion = "CUMPLE";
}
lista_conceptos.push({
movNumero: numero,
movIdTransaction: 2,
movConcepto: concepto,
movCalificacion: calificacion,
})
})
console.log(lista_conceptos)
var request = new FormData();
request.append("objeto", JSON.stringify(transaction));
request.append("listaconceptos", JSON.stringify(lista_conceptos));
request.append("archivoImagen1", ImagenSeleccionada1);
request.append("archivoImagen2", ImagenSeleccionada2);
request.append("archivoImagen3", ImagenSeleccionada3);
//SEND TRANSACTION
jQuery.ajax({
url: '@Url.Action("RegistrarInspeccion", "Transactions")',
type: "POST",
data: request,
processData: false,
contentType: false,
success: function (data) {
}
});
В контроллере код, который мне нужен для получения данных, следующий: я попробовал несколько вариантов, и наиболее близким является этот, переменная объекта показывает мне расположение, но список концептлистов не содержит данных, счетчик равен нулю. Перед вызовом сопровождающего данные списка отображаются в console.log, включая параметр, отправленный в запросе.
[HttpPost]
public async Task RegistrarInspeccion(string objeto, List listaconceptos, HttpPostedFileBase archivoImagen1, HttpPostedFileBase archivoImagen2, HttpPostedFileBase archivoImagen3)
`
Я пытался отправить данные без Formdata, но получил ошибку с изображениями.
Я попытался передать параметр в виде строки, разделив данные запятыми, а затем преобразовать строку в список, но появилось сообщение об ошибке
Ошибка (активная) CS1503 Аргумент 1: невозможно преобразовать из 'string[] ' на 'int'.
Я создаю следующий код:
public async Task RegistrarInspeccion(string objeto, string listaconceptos, HttpPostedFileBase archivoImagen1, HttpPostedFileBase archivoImagen2, HttpPostedFileBase archivoImagen3)
char delimiter = ',';
string[] substrings = listaconceptos.Split(delimiter);
List myList = new
List(substrings);
Принимая во внимание рекомендацию, я отправляю 2 метода. В первом я отправляю концепции, включая список, а во втором — изображения. Первый метод отправляется отлично, и от него я должен получить номер транзакции, который передаю в качестве параметра второму методу. Для этого я помещаю номер транзакции во входные данные. Но у меня проблема: когда я получаю значение ввода, я не получаю введенное значение, оно всегда дает мне ноль. Второй метод работает хорошо, изображения получены, но я получаю нулевую переменную номера транзакции. Код следующий.
function AdicionarMovimiento() {
if ($("#cbbentidad").val() == 0 || $("#cbbentidad").val() == null) {
swal("", "Debe seleccionar una entidad.", "warning");
return
}
EnviarTransaccionOperacion();
EnviarImagenesenTransaccionOperacion();
}
function EnviarTransaccionOperacion() {
var transaction = {
movConductor: "@User.Identity.Name",
movIdTransaction: "2",
movNumero: 0,
movEntidad: $("#cbbentidad").val()
}
var lista_conceptos = [];
$("#tabla tbody tr").each(function (index) {
var concepto = $(this).find("td").eq(0).html();
var check = $(this).find("input").prop('checked');
var calificacion = "NO CUMPLE"
//var check = $(this).find('Cumple').prop('checked');
if (check) {
calificacion = "CUMPLE";
}
lista_conceptos.push({
movNumero: 0, //ojo se envía pero en el proc almac se actualiza
movIdTransaction: 2,
movConcepto: concepto,
movCalificacion: calificacion
})
})
console.log(lista_conceptos);
jQuery.ajax({
url: '@Url.Action("RegistrarInspeccion", "Transactions")',
type: "POST",
data: JSON.stringify({ oTransaction: transaction, listaconceptos: lista_conceptos }),
datatype: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(data)
$("#txtNumero").val(data.numeromovimiento);
}
},
})
}
function EnviarImagenesenTransaccionOperacion() {
var transaction = {
movConductor: "@User.Identity.Name",
movIdTransaction: "2",
movNumero: 0,
movEntidad: $("#cbbentidad").val()
}
var ImagenSeleccionada1 = $("#fileProducto1")[0].files[0];
var ImagenSeleccionada2 = $("#fileProducto2")[0].files[0];
var ImagenSeleccionada3 = $("#fileProducto3")[0].files[0];
var request = new FormData();
request.append("objeto", JSON.stringify(transaction));
request.append("numeromovimiento", $("#txtNumero").val());
request.append("archivoImagen1", ImagenSeleccionada1);
request.append("archivoImagen2", ImagenSeleccionada2);
request.append("archivoImagen3", ImagenSeleccionada3);
jQuery.ajax({
url: '@Url.Action("RegistrarInspeccionImagenes", "Transactions")',
type: "POST",
data: request,
processData: false,
contentType: false,
success: function (data) {
}
})
Подробнее здесь: https://stackoverflow.com/questions/790 ... nd-c-sharp
Отправьте файл изображения и аранжировки с помощью jquery с Formdata и C#. ⇐ Jquery
Программирование на jquery
1728249887
Anonymous
Я пытаюсь отправить некоторые файлы изображений, массив и список с помощью Ajax, но когда я читаю их в мейнтейнере, он не передает мне значения списка, значение равно нулю. Программа разработана на c# mvc vs 2022. Я использую следующий код:
var ImagenSeleccionada1 = $("#fileProducto1")[0].files[0];
var ImagenSeleccionada2 = $("#fileProducto2")[0].files[0];
var ImagenSeleccionada3 = $("#fileProducto3")[0].files[0];
var numero = $("#txtNumero").val();
var transaccion = {
movUser : "@User.Identity.Name",
movIdTransaction: "2",
movNumero: numero,
movEntidad: $("#cbbentidad").val()
}
var lista_conceptos = [];
$("#tabla tbody tr").each(function (index) {
var concepto = $(this).find("td").eq(0).html();
var check = $(this).find("input").prop('checked');
var calificacion ="NO CUMPLE"
if (check) {
calificacion = "CUMPLE";
}
lista_conceptos.push({
movNumero: numero,
movIdTransaction: 2,
movConcepto: concepto,
movCalificacion: calificacion,
})
})
console.log(lista_conceptos)
var request = new FormData();
request.append("objeto", JSON.stringify(transaction));
request.append("listaconceptos", JSON.stringify(lista_conceptos));
request.append("archivoImagen1", ImagenSeleccionada1);
request.append("archivoImagen2", ImagenSeleccionada2);
request.append("archivoImagen3", ImagenSeleccionada3);
//SEND TRANSACTION
jQuery.ajax({
url: '@Url.Action("RegistrarInspeccion", "Transactions")',
type: "POST",
data: request,
processData: false,
contentType: false,
success: function (data) {
}
});
В контроллере код, который мне нужен для получения данных, следующий: я попробовал несколько вариантов, и наиболее близким является этот, переменная объекта показывает мне расположение, но список концептлистов не содержит данных, счетчик равен нулю. Перед вызовом сопровождающего данные списка отображаются в console.log, включая параметр, отправленный в запросе.
[HttpPost]
public async Task RegistrarInspeccion(string objeto, List listaconceptos, HttpPostedFileBase archivoImagen1, HttpPostedFileBase archivoImagen2, HttpPostedFileBase archivoImagen3)
`
Я пытался отправить данные без Formdata, но получил ошибку с изображениями.
Я попытался передать параметр в виде строки, разделив данные запятыми, а затем преобразовать строку в список, но появилось сообщение об ошибке
Ошибка (активная) CS1503 Аргумент 1: невозможно преобразовать из 'string[] ' на 'int'.
Я создаю следующий код:
public async Task RegistrarInspeccion(string objeto, string listaconceptos, HttpPostedFileBase archivoImagen1, HttpPostedFileBase archivoImagen2, HttpPostedFileBase archivoImagen3)
char delimiter = ',';
string[] substrings = listaconceptos.Split(delimiter);
List myList = new
List(substrings);
Принимая во внимание рекомендацию, я отправляю 2 метода. В первом я отправляю концепции, включая список, а во втором — изображения. Первый метод отправляется отлично, и от него я должен получить номер транзакции, который передаю в качестве параметра второму методу. Для этого я помещаю номер транзакции во входные данные. Но у меня проблема: когда я получаю значение ввода, я не получаю введенное значение, оно всегда дает мне ноль. Второй метод работает хорошо, изображения получены, но я получаю нулевую переменную номера транзакции. Код следующий.
function AdicionarMovimiento() {
if ($("#cbbentidad").val() == 0 || $("#cbbentidad").val() == null) {
swal("", "Debe seleccionar una entidad.", "warning");
return
}
EnviarTransaccionOperacion();
EnviarImagenesenTransaccionOperacion();
}
function EnviarTransaccionOperacion() {
var transaction = {
movConductor: "@User.Identity.Name",
movIdTransaction: "2",
movNumero: 0,
movEntidad: $("#cbbentidad").val()
}
var lista_conceptos = [];
$("#tabla tbody tr").each(function (index) {
var concepto = $(this).find("td").eq(0).html();
var check = $(this).find("input").prop('checked');
var calificacion = "NO CUMPLE"
//var check = $(this).find('Cumple').prop('checked');
if (check) {
calificacion = "CUMPLE";
}
lista_conceptos.push({
movNumero: 0, //ojo se envía pero en el proc almac se actualiza
movIdTransaction: 2,
movConcepto: concepto,
movCalificacion: calificacion
})
})
console.log(lista_conceptos);
jQuery.ajax({
url: '@Url.Action("RegistrarInspeccion", "Transactions")',
type: "POST",
data: JSON.stringify({ oTransaction: transaction, listaconceptos: lista_conceptos }),
datatype: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(data)
$("#txtNumero").val(data.numeromovimiento);
}
},
})
}
function EnviarImagenesenTransaccionOperacion() {
var transaction = {
movConductor: "@User.Identity.Name",
movIdTransaction: "2",
movNumero: 0,
movEntidad: $("#cbbentidad").val()
}
var ImagenSeleccionada1 = $("#fileProducto1")[0].files[0];
var ImagenSeleccionada2 = $("#fileProducto2")[0].files[0];
var ImagenSeleccionada3 = $("#fileProducto3")[0].files[0];
var request = new FormData();
request.append("objeto", JSON.stringify(transaction));
request.append("numeromovimiento", $("#txtNumero").val());
request.append("archivoImagen1", ImagenSeleccionada1);
request.append("archivoImagen2", ImagenSeleccionada2);
request.append("archivoImagen3", ImagenSeleccionada3);
jQuery.ajax({
url: '@Url.Action("RegistrarInspeccionImagenes", "Transactions")',
type: "POST",
data: request,
processData: false,
contentType: false,
success: function (data) {
}
})
Подробнее здесь: [url]https://stackoverflow.com/questions/79055024/send-image-file-and-arrangements-with-jquery-with-formdata-and-c-sharp[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия