2013-08-22 3 views
0

i ont donc un fichier PDF sur mon serveur, je peux l'ouvrir et il semble bien.Fichier PDF Corrupt Après le service de fichiers via HTTP

J'essaie ensuite de servir le fichier avec ce code

Response.ContentType = "Application/pdf"; 
Response.AppendHeader("Content-Disposition", "attachment; filename=Filename.pdf"); 
Response.TransmitFile("C:\\Temp\\Filename.pdf"); 
Response.End(); 

Cela sert le fichier, il enregistre sur le client, mais le problème est ce nouveau fichier est sur le point .05Mb plus grand que l'original, et quand vous essayez de l'ouvrir le fichier PDF est corrompu.

Des idées?

+2

Possible même question? http://stackoverflow.com/questions/9231239/response-transmitfile-corrupting-file – iPouf

Répondre

0

Votre code devrait fonctionner. S'il vous plaît assurez-vous que vous utilisez Ajax pour télécharger le fichier.

Vous pouvez essayer d'utiliser le flash et à proximité avant la fin.

Response.ContentType = "Application/pdf"; 
Response.AppendHeader("Content-Disposition", "attachment; filename=Filename.pdf"); 
Response.TransmitFile("C:\\Temp\\Filename.pdf"); 
Response.Flush(); 
Response.Close(); 
Response.End(); 

Si cela ne fonctionne toujours pas, vous pouvez essayer BinaryWrite. Le seul inconvénient est qu'il ne fonctionne pas avec un grand fichier, car il charge le fichier en mémoire avant de l'envoyer au client.

Response.ContentType = "application/pdf"; 
Response.AddHeader("content-disposition", "attachment; filename=Filename.pdf")); 
Response.BinaryWrite(File.ReadAllBytes("C:\\Temp\\Filename.pdf")); 
Response.End(); 
Questions connexes