javascript - 来自 Asp 核心 Controller 的 Api 未收到 FormData.append(key,value) 附加的所有值

标签 javascript jquery asp.net-core form-data

我想将文件(图像、设置文件)和其他一些文本字符串一起上传。 这是我的 ajax 代码:

function uploadFiles(inputId) {

var input = document.getElementById(inputId);
var files = input.files;
formData = new FormData();

for (var i = 0; i !== files.length; i++) {
    var temp1 = files[i];
}

formData.append('temp', 1);
formData.append('temp', "ksjhdfksdjf");

$.ajax({
    type: "POST",
    url: "/Admin/FileUploadView/SaveEntity",
    data: formData,
    contentType: false,
    processData: false,

    beforeSend: function () {
        tedu.startLoading();
    },
    success: function () {

    },
    error: function () {

    }
});
}

这是我的 Controller :

enter image description here

当我记录 formData 对象包含的所有文件时,一切正常:

enter image description here

但我在 Controller 中只收到 2 个图像的对象:

enter image description here

现在我希望能够收到我附加的所有文件。您有什么想法请帮助我。

最佳答案

您在 Controller 中没有收到temp

js:

function uploadFiles(inputId) {
    var input = document.getElementById(inputId);
    var files = input.files;
    var formData = new FormData();

    for (var i = 0; i != files.length; i++) {
        formData.append("files", files[i]);
    }
    formData.append('temp', 1);
    formData.append('temp', "ksjhdfksdjf");
   //ajax

Controller :

[HttpPost]
public async Task<IActionResult> SaveEntity(IList<IFormFile> files,List<string> temp)

关于javascript - 来自 Asp 核心 Controller 的 Api 未收到 FormData.append(key,value) 附加的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55253082/

相关文章:

javascript - window.location.replace JQuery后触发滚动到顶部

javascript - 使用数组字符串寻找性能可行性

javascript - 我可以使用 Ajax.Responder 向 PrototypeJS Ajax 请求添加参数吗?

jquery - 如何访问从 Controller 返回的数组以获取ajax成功

javascript - jQuery 从顶部获取当前 View 位置

javascript - 在另一个实例方法事件处理程序中调用 this.instanceMethod

.net - .net核心中的ServicePointManager.DefaultConnectionLimit?

c# - Asp net Core ConfirmEmail 不工作

asp.net-mvc - 在不使用 EF 的情况下在 appsettings.json 中获取多个连接字符串

javascript - Mobile Safari - iframe 固定内容