gpt4 book ai didi

javascript - 在 ASP MVC 5 中使用 AJAX 时,HttpPostedFileBase 为空

转载 作者:行者123 更新时间:2023-11-29 21:40:57 25 4
gpt4 key购买 nike

我正在使用 JQuery.AJAX 将文件上传到 ASP.NET MVC 5 中的服务器。我的 View 代码是:

<input type="file" size="45" name="file" id="file">

Javascript 是:

<script>
$('#file').on("change", function () {
var formdata = new FormData($('form').get(0));
CallService(formdata);
});
function CallService(file) {
$.ajax({
url: '@Url.Action("Index", "Home")',
type: 'POST',
data: file,
cache: false,
success: function (color) {
;
},
error: function () {
alert('Error occured');
}
});
}

最后是 HomeController.cs 的代码:

        public ActionResult Index (HttpPostedFileBase file)
{
...

}

但是每次调用 Index 操作时,HttpPostedFileBase 对象都是空的。我已经在 SO 中阅读了有关此问题的所有主题,但找不到答案。我输入了正确的名称,它与 Controller 中的参数名称相符。代码有什么问题,导致对象一直为空?

最佳答案

所以这个问题的正确代码是:查看:

<form>
<input type="file" size="45" name="file" id="file">
</form>

Javascript:

<script>
$('#file').on("change", function () {
var formdata = new FormData($('form').get(0));
CallService(formdata);
});

function CallService(file) {
$.ajax({
url: '@Url.Action("Index", "Home")',
type: 'POST',
data: file,
cache: false,
processData: false,
contentType: false,
success: function (color) {
;
},
error: function () {
alert('Error occured');
}
});
}
</script>

最后是 HomeController.cs 的代码:

public ActionResult Index (HttpPostedFileBase file)
{
...
}

关于javascript - 在 ASP MVC 5 中使用 AJAX 时,HttpPostedFileBase 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32953335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com