我将DropzoneJS与MVC一起使用。文件上传很好,但操作不会显示另一个视图,也不会在重定向到另一个操作后显示另一个视图。只是保持与调用它相同的视图。
行动:
[HttpPost]
public ActionResult FileUpload(HttpPostedFileBase file)
{
if(file != null)
{
string ext = Path.GetExtension(file.FileName);
if (file.ContentLength > 0 && ext == ".txt")
{
var fileName = Path.GetFileName(file.FileName);
if (fileName != null)
{
var path = Path.Combine(Server.MapPath("~/uploads"), fileName);
file.SaveAs(path);
}
}
}
return View("Report");
// This will redirect to action but will not display another view either:
// return RedirectToAction("Report");
}
查看来自:
<div id="dropzone">
<form action="/Dashboard/FileUpload" class="dropzone clickable" id="demo-upload" method="post" enctype="multipart/form-data">
</form>
</div>
答案 0 :(得分:2)
如果使用dropzone上传文件异步,则需要告诉浏览器进行重定向。通过对MVC控制器的异步调用,MVC无法告诉浏览器更改页面。您可以在dropzone上传完整事件的文件后在javascript中进行重定向:
myDropzone.on("complete", function(file) {
window.location = "./Dashboard/Report/";
});