Javascript 通过ajax将文档文件上载到控制器,但获取空值
我想通过ajax将文件上载到控制器。但控制器方法参数中的值为null。 控制器Javascript 通过ajax将文档文件上载到控制器,但获取空值,javascript,ajax,asp.net-mvc,Javascript,Ajax,Asp.net Mvc,我想通过ajax将文件上载到控制器。但控制器方法参数中的值为null。 控制器 public ActionResult Upload(HttpPostedFileBase file,int value) { try { if (file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); var path =
public ActionResult Upload(HttpPostedFileBase file,int value)
{
try
{
if (file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/File/"), fileName);
file.SaveAs(path);
_manager.UploadFile(file, path.ToString());
}
ViewBag.Message = "Upload successful";
return RedirectToAction("Index");
}
catch
{
ViewBag.Message = "Upload failed";
return RedirectToAction("Index");
}
}
在索引中,我使用正常的输入文件类型和提交类型按钮。一切正常,但控制器方法参数变为null为什么
索引
浏览…
$(文档).ready(函数(e){
$(“#提交”)。单击(函数(事件){
var formData=new formData();
var totalfiles=document.getElementById(“上传文件”);
对于(var i=0;i
可能重复的请注意,模型视图控制器标记用于询问有关模式的问题。ASP.NET-MVC实现有一个特定的标记。在使用FormData
时,请向dupe咨询您需要的正确ajax选项。它不起作用。它正在变为null。是的,它起作用了。如果它不适用于您的,那么它是因为您的编码中的错误。您可以检查其他内容。请
<label class="btn btn-block btn-primary">
Browse …
<input type="file" name="file" class="btn" id="uploadfile" style="display: none;">
</label>
<input type="submit" class="btn" id="submit" value="Upload">
$(document).ready(function (e) {
$('#submit').click(function (event) {
var formData = new FormData();
var totalfiles = document.getElementById("uploadfile");
for (var i = 0; i < totalfiles; i++) {
var file = document.getElementById("uploadfile").files[i];
formData.append("uploadfile", file);
}
var dam=1;
dam = $("input:checkbox:checked").attr("value");
alert(dam);
alert(formData);
$.ajax(
{
url: '@Url.Action("Upload","Document")',
type: "POST",
data: { file: formData ,value:dam},
datatype: "multipart/form-data",
traditional: true,
success: function (response) {
// $("#file").html(response);
}
});
})
});