【发布时间】:2017-10-24 06:09:07
【问题描述】:
大家好,
我正在尝试使用 ajax 将文件从客户端上传到服务器端(asp.net 核心)控制器,但我的值为空。
这是我的 html 和 javascript 代码:
<input type="file" id="myfile" class="required" />
<button type="button" class="btn btn-info" onclick="uploadcsvfile()">
<script>
function uploadcsvfile() {
var myfile= document.getElementById("myfile");
var formData = new FormData();
if (myfile.files.length > 0) {
for (var i = 0; i < myfile.files.length; i++) {
formData.append('file-' + i, myfile.files[i]);
}
}
$.ajax({
url: "/MyController/UploadFile/",
type: "POST",
dataType: "json",
data: formData,
contentType: false,
processData: false,
success: function(data){
},
error: function (data) {
}
})
}
</script>
这是我使用 IFormFile 的控制器
public async Task<JsonResult> UploadFile(IFormFile formData)
{
// do something here
}
提前谢谢你!
【问题讨论】:
-
现在有什么问题?你甚至会在你的操作方法上接到电话吗?
-
服务器是否期待
data: {formData:formData}?formData预计在public async Task<JsonResult> UploadFile(IFormFile formData)是什么?Task<JsonResult>的目的是什么? -
@guest271314 如果我将它与大括号一起使用,我会得到 null
-
@SaurabhTiwari 我可以破坏该方法,但 formData 的值为 null
-
@jsonGPPD 你能接受一个答案吗?我刚刚尝试了 Mohammed Noureldin 的答案,这对我有用,哪一个对你有用?
标签: javascript c# jquery asp.net ajax