Javascript 如何在asp.net.core中使用Ajax发布表单数据和文件?

Javascript 如何在asp.net.core中使用Ajax发布表单数据和文件?,javascript,c#,Javascript,C#,我有一个html表单,我想将数据和文件发布到C#WebAPI。这是我的前端代码 document.getElementById(“form1”).addEventListener(“提交”,函数(e){ e、 预防默认值(); var input=document.getElementById('files'); var files=input.files; var formData=new formData(); for(var i=0;i!=files.length;i++){ formD

我有一个html表单,我想将数据和文件发布到C#WebAPI。这是我的前端代码

document.getElementById(“form1”).addEventListener(“提交”,函数(e){
e、 预防默认值();
var input=document.getElementById('files');
var files=input.files;
var formData=new formData();
for(var i=0;i!=files.length;i++){
formData.append(“文件”,文件[i]);
}
var tags=$('#tags').val();
formData.append(“标签”,标签);
$.ajax(
{
url:“https://localhost:44371/api/file/upload",
processData:false,
contentType:false,
类型:“POST”,
数据:formData,
数据类型:“json”,
成功:函数(){
警报(“已上载文件!”);
}
}
);
});

标签:
上传并保存

我读过,但没有亲自尝试过,它是通过创建一个类作为
PostFileDocument()的参数来工作的。
。这个类将有一个
ifformfile
数组和一个字符串属性用于标记,如中所示

类控制器
{
[HttpPost]
[路由(“上传”)]

公共异步任务

任何
文件
的收集类型都可以-它不必是数组。JS只需在每个
FormData
键前面加上
有效负载。
即可绑定(例如
有效负载.files
)。或者,只需使用
[FromForm]字符串标记
也可以。