2012-01-03 1 views
0

J'utilise le code suivant pour envoyer un PDF au navigateurResponse.BinaryWrite ne fonctionne pas avec Safari dans MAC

 Response.ClearContent(); 
     Response.ClearHeaders(); 
     Response.AddHeader("Content-Length", fileBytes.Length.ToString()); 
     Response.ContentType = "application/pdf"; 
     Response.BinaryWrite(fileBytes); 
     Response.Flush(); 
     System.Web.HttpContext.Current.ApplicationInstance.CompleteRequest(); 

Il fonctionne bien (pdf est correctement intégrée dans le navigateur) pour tous les navigateurs sauf Safari (version 5.x) dans MAC. En outre, il fonctionne correctement pour Firefox et Chrome dans MAC.
Je me demande si c'est un problème de navigateur? ou il y a quelque chose de mal avec Response.BinaryWrite?

[Modifier]
comportement Safari, le pdf est pas chargé du tout. Une barre de progression est affichée et continue à charger, peut-être est-ce lié au plugin PDF qui est installé? Alors, comment comprendre le pourquoi ce comportement dans Safari?

[Modifier]
Cette erreur est enregistrée dans la console Developer Tools Safari "Impossible de charger la ressource: Plug-in charge traitée", qui semble qu'il est lié au plug-in PDF.

+0

Qu'est-ce qui se passe dans Safari? – ZippyV

+0

Le fichier PDF n'est pas chargé du tout? Une barre de progression est là? Peut-être que la barre progree est liée au plugin Adobe qui est installé. – Ahmed

+0

@Ahmed: Que se passe-t-il lorsque la barre de progression est terminée? Est-ce qu'il ouvre pdf dans le navigateur? –

Répondre

0

Essayez cela, il travaille avec moi bien

 Response.ClearContent(); 
     Response.ClearHeaders(); 
     Response.ContentType = "application/pdf"; 
     Response.Buffer = true; 
     Response.AppendHeader("Accept-Header", attachmentObj.AttachmentFile.Length.ToString()); 
     Response.AppendHeader("content-disposition", "attachment; filename=\"" + HttpUtility.UrlEncode(attachmentObj.Description, System.Text.Encoding.UTF8) + "\""); 
     Response.AppendHeader("Pragma", "public"); 
     Response.BinaryWrite((byte[])attachmentObj.AttachmentFile.ToArray());   
     Response.Flush(); 
     Response.End(); 
+0

La ressource n'a pas pu charger: l'erreur de chargement gérée par le plug-in est toujours enregistrée dans le journal de la console lors du chargement de la page. – Ahmed

Questions connexes