【发布时间】:2022-08-16 11:58:46
【问题描述】:
用户管理员.cshtml
<div class=\"modal-body\">
<form id=\"upload-file-dialog-form\"
class=\"needs-validation form-group\" novalidate
onsubmit=\"UploadFile()\"
enctype=\"multipart/form-data\"
method=\"post\">
<div class=\"col-md-10\">
<p>Upload one or more files using this form:</p>
<input type=\"file\" name=\"file_Uploader\" />
</div>
<div class=\"form-group\">
<div class=\"col-md-10 modal-footer\">
<input type=\"submit\" class=\"btn btn-primary\" value=\"Upload\"/>
</div>
</div>
</form>
</div>
用户管理员.js
function UploadFile() {
var form = $(\'form\')[0];
var formData = new FormData(form);
console.log(formData);
$.ajax({
url: \'/API/Upload\',
type: \'POST\',
data: formData,
contentType: false,
processData: false,
success: function (data) {
},
error: function () {
}
});
}
控制器
[HttpPost]
public async Task<IActionResult> Upload(List<IFileUpload> files)
{
try
{
var check = (HttpContext.Request.Form.Files);
long size = files.Sum(f => f.Length);
//some code removed
return Ok(new { count = files.Count, size, filePaths });
}
catch (Exception exc)
{
logger.Error(\"Error in upload() \" + exc.Message);
throw;
}
}
这文件在控制器中始终为 0。
如果 onsubmit=\"UploadFile()\" 替换为
asp-controller=\"API\" asp-action=\"Upload\"
然后我得到一些东西查看但再次将其转换为 IFileUpload 列表是另一个障碍
标签: asp.net-core file-upload asp.net-apicontroller