Jquery AJAX文件上载-HttpPostedFileBase参数始终为空MVC 4
我试图通过AJAX请求向控制器操作发送CSV文件,但是,Jquery AJAX文件上载-HttpPostedFileBase参数始终为空MVC 4,jquery,ajax,asp.net-mvc-4,file-upload,asp.net-ajax,Jquery,Ajax,Asp.net Mvc 4,File Upload,Asp.net Ajax,我试图通过AJAX请求向控制器操作发送CSV文件,但是,HttpPostedFileBase参数始终为空。因此,我无法访问我试图发送的文件的内容。请有人告诉我解决这个问题的错误在哪里 这是我的控制器: [HttpPost] public ActionResult ImportCSV(HttpPostedFileBase file) { var files = Request.Files.Count; // This returns 1. However, 'file' parameter
HttpPostedFileBase
参数始终为空。因此,我无法访问我试图发送的文件的内容。请有人告诉我解决这个问题的错误在哪里
这是我的控制器:
[HttpPost]
public ActionResult ImportCSV(HttpPostedFileBase file)
{
var files = Request.Files.Count; // This returns 1. However, 'file' parameter is null
// Process the CSV file here...
return View();
}
这是我的HTML:
<table class="fieldset">
<tr>
<td>Select File:</td>
<td>
<!--FILE TEXTFIELD-->
<input type="file" id="file" name="file" class="hide file-upload" />
<!--OVERLAY-->
<div id="filename" class="file-textbox"></div>
<!--ELIPSES-->
<button id="filestyle" class="elipses button green-button">...</button>
</td>
<td>
<!--UPLOAD-->
<button type="button" id="btnUpload" class="button green-button upload">Upload</button>
<div class="loading"></div>
</td>
</tr>
</table>
您可以直接读取
Request.Files
:
var file = Request.Files[0];
或:
其中“file”是输入元素名
您可能还想阅读请问您使用的浏览器是什么?它使用Request.Files[0]工作。但这仍然不能解决为什么参数为空的问题。谢谢你的临时修复!另外,我已经尝试了所有的浏览器。
var file = Request.Files[0];
var file = Request.Files["file"];