在我的项目中,我需要上传文本文件。 我们正在使用MVC4 - Razr。 我想使用AJAX / Jquery / Javascript文件上传,因为它不会回发到表单。 这是我的代码。它实际上传文件,但之后重定向 报告\ uploadfile将值为true。 有没有更好的方法来做到这一点。
这是我的代码 @@@@@@@@@
@using (Html.BeginForm("uploadfile", "reports", FormMethod.Post, new {enctype = enter code here`"multipart/form-data"}))
{
<input type="file" name="FileUpload1" /><br/>
<input type="submit" name ="Submit" id="Uploadfile" value="Upload"/>
}
- 控制器代码
[HttpPost]
public JsonResult UploadReports()
{
if (Request.Files[0].ContentLength > 0)
{
string uploadPath = "C:\\Upload";
string filename = Path.GetFileName(Request.Files[0].FileName);
Request.Files[0].SaveAs(Path.Combine(uploadPath, filename));
}
return Json(true);
}
答案 0 :(得分:1)
我认为最简单的方法是使用jQuery Form Plugin。通过这种方式,您可以按如下方式调整文件上传:
<script type="text/javascript">
$(function () {
$('#myForm').ajaxForm({
});
});
</script>
@using (Html.BeginForm("UploadFile", "Home", FormMethod.Post, new { @id = "myForm", enctype = "multipart/form-data" }))
{
<input type="file" name="FileUpload1" /><br />
<input type="submit" name="Submit" id="Uploadfile" value="Upload" />
}
在公开UploadReports
方法中,您可以接受FileUpload1
参数:List<HttpPostedFileBase> FileUpload1