2010-09-14 6 views
0

J'ai une page "factices" pour forcer le "SaveAs" pop-up quand ils cliquent sur un lien pour télécharger un document.Fichier à télécharger dans ASP.NET

La requête pour ce site est ajax et le site est appelé. Je peux voir qu'il a tous les bons paramètres, mais quand il s'agit de cette partie, rien ne se passe. Avec le firebug, je peux voir que j'essaye de répondre à quelque chose, si je regarde l'en-tête.

Server ASP.NET Development Server/10.0.0.0 
Date Tue, 14 Sep 2010 12:51:02 GMT 
X-AspNet-Version 4.0.30319 
Content-Disposition attachment; filename=D:\APPLICATIONS\InfoomFilm.pdf 
Cache-Control private 
Content-Type Application/pdf 
Content-Length 785693 
Connection Close 

mais si je regarde la réponse, il semble que

%PDF-1.3 
%��������� 
4 0 obj 
<< /Length 5 0 R /Filter /FlateDecode >> 
stream 
x��ْ��u���)pي k��w�,��($þp袇,rz�lR���z�~��+8�/��$�Ld�P�,rȑ"�'��%d���s�ע,�mi��}9�}Wt�n[C[m���P�WqW|��CU<�����s{m[���f����a� 

et ainsi de suite pour les 785600 caractères suivants

Répondre

1

je pense que vous pouvez faire quelque chose comme ça

Response.ContentType = "Application/pdf"; 

Response.AppendHeader("content-disposition", "attachment; filename=" + FilePath); 

Response.TransmitFile(Server.MapPath(filepath)); 

Response.End(); 

et cela peut fonctionner - c'est ce que j'ai fait et c'est grâce au blog de Rick Strahl. Personnellement, Id déterminer le type de contenu en utilisant le type de programatically MIME afin que le code isnt spécifi au format PDF, mais c'est juste moi :)

1

je fais quelque chose de similaire, et il fonctionne pour moi:

Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName); 
Response.TransmitFile(Server.MapPath(FilePath)); 
Response.End(); 
Questions connexes