我试图将文件发布到控制器操作以保存它,但在使用 $.post 发布数据时遇到了两个不同的问题,如下所示:
$("#setting-form").on("submit", function(event) {
var formData = new FormData();
if (document.getElementById('site-error-image-input').files[0] != null) {
var file = document.getElementById('site-error-image-input').files[0];
formData.append("image", file);
console.log(formData);
$.post("/Admin/Home/SaveSiteErrorImage/", {
files: formData
}, function(response) {
var filePathInput = document.getElementsByName("Settings[64].SettingString")[0];
filePathInput.setAttribute("value", response);
});
}
});
控制器操作不接收文件,当使用 $.ajax 发布数据时,如下所示:
$("#setting-form").on("submit", function(event) {
var formData = new FormData();
if (document.getElementById('site-error-image-input').files[0] != null) {
var file = document.getElementById('site-error-image-input').files[0];
formData.append("image", file);
console.log(formData);
$.ajax({
type: 'post',
url: '/Admin/Home/SaveSiteErrorImage',
data: formData,
processData: false,
contentType: false
}).done(function(result) {
if (result != '') {
var filePathInput = document.getElementsByName("Settings[64].SettingString")[0];
filePathInput.setAttribute("value", response);
}
});
}
});
我收到此 JavaScript 错误:“未捕获类型错误:在未实现 FormData 接口的对象上调用了‘append’。”
控制器动作:
public string SaveSiteErrorImage(IList<IFormFile> files)
我尝试按照上述方式更改帖子的格式,但没有成功。