我想将文件(图像、设置文件)和其他一些文本字符串一起上传。 这是我的 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 :
当我记录 formData 对象包含的所有文件时,一切正常:
但我在 Controller 中只收到 2 个图像的对象:
现在我希望能够收到我附加的所有文件。您有什么想法请帮助我。
最佳答案
您在 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/