Comment ajouter des en-Têtes dans HTTPContext Réponse ASP.NET MVC 3?
J'ai un lien de téléchargement dans ma page, un fichier que j'ai générer par la demande de l'utilisateur. Maintenant, je veux afficher la taille du fichier, de sorte que le navigateur peut afficher combien il en reste pour le téléchargement. Comme solution, je suppose que addin un en-Tête de la demande de travail, mais maintenant je ne sais pas comment le faire.
Voici mon code try:
public FileStreamResult DownloadSignalRecord(long id, long powerPlantID, long generatingUnitID)
{
SignalRepository sr = new SignalRepository();
var file = sr.GetRecordFile(powerPlantID, generatingUnitID, id);
Stream stream = new MemoryStream(file);
HttpContext.Response.AddHeader("Content-Length", file.Length.ToString());
return File(stream, "binary/RFX", sr.GetRecordName(powerPlantID, generatingUnitID, id) + ".rfx");
}
Quand j'ai vérifié sur le violoneux, il n'affiche pas le Contenu de l'en-tête de Longueur. Pouvez-vous les gars m'aider?
OriginalL'auteur Bruno Machado - vargero | 2011-06-30
Vous devez vous connecter pour publier un commentaire.
Essayer
HttpContext.Current.Response.AppendHeader("Content-Length", contentLength);
OK, alors laissez de côté
Current
. Utilisez simplementAppendHeader
au lieu deAddHeader
dans votre code original.OriginalL'auteur Mrchief
Essayez d'utiliser
OriginalL'auteur winy101
Pouvez-vous s'il vous plaît essayer le code suivant et de voir si cela fonctionne?
"Il fonctionne sur ma machine"
Et j'ai essayé sans le
Content-length
en-tête et le Violoneux, des rapports d'un contenu de la longueur de l'en-tête de toute façon. Je ne pense pas que c'est nécessaire.Avez-vous vérifié que le flux contient en fait quelque chose?
sr.GetRecordFile(..)
renvoie unebyte[]
, droit?OriginalL'auteur Mikael Östberg
Ce qui devrait résoudre ce que je pense il n'y a pas besoin d'utiliser le
FileStreamResult
, lorsque vous pouvez utiliser labyte[]
directement.Note le FileContentResult type de retour.
OriginalL'auteur Mikael Östberg
Ne savez pas quoi d'autre peut-être trompé, mais que le contenu de longueur doit être la taille du binaire, pas la longueur de la chaîne.
@Mikael...........Yep
OriginalL'auteur heisenberg