Asp.net MVC + dropzoneJS文件上传

时间:2013-06-13 16:18:55

标签: asp.net asp.net-mvc file-upload dropzone.js

我将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>

1 个答案:

答案 0 :(得分:2)

如果使用dropzone上传文件异步,则需要告诉浏览器进行重定向。通过对MVC控制器的异步调用,MVC无法告诉浏览器更改页面。您可以在dropzone上传完整事件的文件后在javascript中进行重定向:

myDropzone.on("complete", function(file) {
  window.location = "./Dashboard/Report/";
});