gpt4 book ai didi

c# - 我正在尝试使用 ajax 调用将上传的文件从 View 发送到 Controller ,但该文件在 Controller 中接收为 null

转载 作者:行者123 更新时间:2023-11-28 02:21:05 25 4
gpt4 key购买 nike

我正在使用 ajax 将上传的文件从 html View 发送到 Controller ,但该文件在 Controller 中接收为 null。

我尝试使用 FormData 但没有任何反应,或者我没有正确使用它,当我使用 html.BeginForm() 发送文件时,它在 Controller 中被正确读取,但我不想使用表单,因为它会打开另一个提交后页面

下面是我的 Controller

public void Upload_SCN_CA_File(FormCollection formCollection)
{
if (Request != null)
{
HttpPostedFileBase file = Request.Files["UploadedFile"];
if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName))
{
string fileName = file.FileName;
Debug.WriteLine(fileName);
string fileContentType = file.ContentType;
byte[] fileBytes = new byte[file.ContentLength];
var data = file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength));
}
}
}

下面是 JQuery ajax 调用

$("#upload").on("click",function () {
$.ajax({
type: "POST",
url: "/Order/Upload_SCN_CA_File",
data: {
enctype: 'multipart/form-data'
},
success: function (response) {
if (response.result == false) {
swal("Error", response.message, "error");
}
else {
swal("Success", response.message, "success");
}
}
});
});

下面是我的html View

<form>
<div class="row">
<div class="col">
<input name="UploadedFile" id="upfile" type="file" />
</div>
</div>
<div class="row">
<div class="col">
<div class="btn btn-primary rounded" id="upload" style="margin:8px">Upload</div><br>
</div>
</div>
</form>

我希望文件被正确发送到 Controller ,这样我就可以正确读取它,但它被接收为 null

最佳答案

您可以像下面的代码一样传递数据。

   $("#form0").submit(function (event) {
var dataString;
event.preventDefault();
event.stopImmediatePropagation();
var action = $("#form0").attr("action");
if ($("#form0").attr("enctype") == "multipart/form-data") {
dataString = new FormData($("#form0").get(0));
contentType = false;
processData = false;
} else {
// regular form, do your own thing if you need it
}
$.ajax({
type: "POST",
url: action,
data: dataString,
dataType: "json",
contentType: contentType,
processData: processData,
success: function (data) {

},
error: function (jqXHR, textStatus, errorThrown) {

}
});
});

关于c# - 我正在尝试使用 ajax 调用将上传的文件从 View 发送到 Controller ,但该文件在 Controller 中接收为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57571740/

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