2013-06-13 3 views
0

J'utilise DropzoneJS avec MVC. Le fichier est bien chargé, mais l'action n'affiche pas une autre vue, et aucune autre vue ne sera affichée après avoir été redirigée vers une autre action. Reste juste sur la même vue, il a été appelé.Asp.net MVC + téléchargement de fichier dropzoneJS

Action:

[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"); 
    } 

Voir appelé de:

<div id="dropzone"> 
    <form action="/Dashboard/FileUpload" class="dropzone clickable" id="demo-upload" method="post" enctype="multipart/form-data"> 
    </form> 
</div> 

Répondre

2

vous devez dire à votre navigateur pour faire la redirection, si vous utilisez dropzone pour télécharger des fichiers asyncronsly. Avec un appel asynchrone à votre contrôleur MVC, MVC ne peut pas dire au navigateur de changer de page. Vous pouvez faire une redirection en javascript après que dropzone a chargé les fichiers avec l'événement complet:

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