l'ajout de l'en-tête de réponse http dans une action à l'intérieur d'un contrôleur dans la asp.net/mvc

Je suis de flux de données à partir du serveur vers le client pour le téléchargement à l'aide de filestream.write. Dans ce cas, ce qui se passe, c'est que je suis en mesure de télécharger le fichier mais il ne semble pas que télécharger dans mon navigateur. Ni le pop-up pour "Enregistrer sous" s'affiche pas "Barre de chargement" s'affiche dans la section Téléchargements. En regardant autour de moi, je suppose que j'ai besoin d'inclure le "quelque chose" dans l'en-tête de réponse pour indiquer au navigateur qu'il s'agit d'une annexe à cette réponse. Je tiens également à définir le cookie. Pour ce faire, c'est ce que je fais:

        [HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=" & name)]
    public ActionResult Download(string name)
    {
          //some more code to get data in inputstream.

          using (FileStream fs = System.IO.File.OpenWrite(TargetFile))
            {
                byte[] buffer = new byte[SegmentSize];
                int bytesRead;
                while ((bytesRead = inputStream.Read(buffer, 0, SegmentSize)) > 0)
                {
                    fs.WriteAsync(buffer, 0, bytesRead);
                }
            }
        }
        return RedirectToAction("Index");
    }

J'obtiens l'erreur: "le Système de.web.httpcontext.actuelle est la propriété et est utilisé comme un type."

Je fais l'en-tête de mise à jour à la bonne place? Est-il un autre moyen pour ce faire?

OriginalL'auteur ezile | 2013-04-18