2013-06-26 1 views
0

J'ai une méthode ActionResult dans mon contrôleur qui renvoie un FileStreamResult pour un scénario de fichier de téléchargement. Une fois le fichier téléchargé, je souhaite rediriger l'utilisateur vers une autre vue. Comment puis-je le mieux accomplir cela?Redirection MVC4 après le téléchargement de fichier

Répondre

1

Vous ne pouvez pas le faire. Vous ne pouvez renvoyer qu'une seule réponse de votre action et celle-ci contiendra le fichier. Vous ne pouvez pas également y mettre un en-tête de redirection. Le mieux est de rediriger d'abord, puis de commencer le téléchargement.

+0

Merci! J'ai essayé votre suggestion pour rediriger d'abord puis démarrer le téléchargement mais cela n'a pas fonctionné. –

0

Il n'y a pas vraiment de moyen facile de le faire, car le téléchargement de fichiers est un problème client/navigateur.

Il existe une technique JavaScript mentionnée here.

TLDR: Créer un cookie sur le client, la remplacer dans le téléchargement de fichiers (par exemple supprimer en définissant un cookie avec une expiration passé), garder le contrôle de tous les si souvent sur le client si le cookie est parti, quand c'est, faites une redirection.

+1

Je vais essayer, mais je pense que cette approche rendra la maintenance et le support plus difficiles. –

+0

@MikeC - convenu. Je ne recommande pas cette approche du tout. Je suis d'accord avec Ufuk. Mais c'est un dernier recours. – RPM1984

Questions connexes