Передача двух параметров (IFormFile и строки) с JSON на C#Jquery

Программирование на jquery
Ответить
Anonymous
 Передача двух параметров (IFormFile и строки) с JSON на C#

Сообщение Anonymous »

Версии:
ASP.NET и веб-инструменты — 17.10.341.11210
Инструменты C# — 4.10.0-3.24312.19+
JQuery — 3.3.1.js
JS - 2.8.3.js
Я пытаюсь передать IFormFile и строку из выбора файла JSON и ввода строки.
Выбор файла и строковый ввод работают (я использовал оповещения, чтобы убедиться, что оба собирают правильную информацию)
Когда я отправляю их вместе в свой метод C#, они оба возвращают значение null (хотя они не из предыдущего тестирования). Мой код JavaScript и HTML:
HTML:

Код: Выделить всё

Validation

String Validation?



Please select which file you would like to validate.

Only CSV files are able to be uploaded



Validate 



Javascript:

Код: Выделить всё

function btnValidate() {
input = document.getElementById('fileSelection');
file = input.files[0];
fileName = file.name;
fileName = fileName.toUpperCase();

//alert("file = " + file.name); //good

var stringSelection = document.getElementById('string').value;
//alert("string is = " + stringSelection); //good

if (fileName.includes('CSV')) {
//alert("string is = " + stringSelection); //good

var data = new FormData();
file = input.files[0];
data.append("File", file);
console.log(data);
//alert("file = " + data.values);

//var parameters = { file: data, inputString: stringSelection };
//alert("parameters = " + parameters.inputString" " + parameters.file); //bad
//alert("parameters = " + parameters.file.value); //good

$.ajax({
type: "POST",
url: "@Url.Content("~/Validation/UploadFile")",
dataType: 'json',
contentType: false,
processData: false,
data: { file:data, inputString: stringSelection},
//other things I've tried
//JSON.stringify({ file: data, inputString: 'stringSelection' }),
//'{ "file":' + data + ', "inputString": "stringSelection" }',
//JSON.stringify({ parameters }),
//{parameters},

success: function(data){
return result;
},
error: function (xhr, status, error) {
alert("error message " + error + " " + status);
}
});
}
}
Код C#

Код: Выделить всё

public JsonResult UploadPayrollFile(IFormFile file, string stringSelection)
{
//do stuff
//I setup a breakpoint here to check to see what information is coming in, both parameters are coming in null.
//When I adjust the method to check for a singular parameter, they work (separately)
}
Я рассмотрел этот вопрос здесь, и эти варианты мне не помогли.
Программа действительно работает. Ошибок не выдает.

Подробнее здесь: https://stackoverflow.com/questions/787 ... to-c-sharp
Ответить

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

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

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

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

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