2010-11-11 9 views
5

Un cliente ha una newsletter in formato PDF che pesa 1,63 MB, quindi non enorme.La richiesta del browser PDF va in deep-free

Inviamo un messaggio di posta elettronica con un collegamento al pdf. Oppure gli utenti trovano un link sulla home page del sito. Non importa.

Il problema è che quando un utente richiede il PDF, il browser sarà a volte andare in un congelamento. Vale a dire, è necessario utilizzare Task Manager per uccidere l'istanza del browser.

è possibile testare il pdf qui: Newsletter

Ciò che lo rende difficile è che non sempre sicuro. Quello che segue è un riassunto di dove sono e cosa ho tentato.

BROWSER

La più probabile browser per fallire con il pdf è Google Chrome. Tuttavia, anche IE a volte si bloccherà.

ERRORE

Google Chrome a volte restituisce il seguente errore (dopo una lunga attesa):

"C'è stato un errore durante l'elaborazione della pagina A file di I/O error è verificato il collegamento di file .. fuori tempo."

IE si blocca a morte senza un piagnisteo.

ACROBAT VERSIONE

Il file è stato originariamente creato in Adobe InDesign CS3, da uno studio di design. Abbiamo appena ricevuto il pdf. Ho provato a salvare nuovamente il file usando Acrobat 7 nel caso ci fosse qualche problema di compatibilità. Questo sembrava risolvere il problema su una macchina, ma non su altri ...

Google Risultati

Googling dimostra che ci sono alcuni problemi con Chrome e PDF. Devo ancora trovare una soluzione. Questo ancora non spiega perché IE fallisce a volte.

ALTRE MISURE

a cancellare la cache per ogni browser tra i test. Quindi non può essere solo un download maciullato.

aprendo il file con Acrobat PRO

Non c'è l'apertura del file in questo modo problema.

WEB SERVER

Il server web persone hanno testato il file e non hanno avuto problemi. Non possono trovare problemi nei log, il che indica che il file viene scaricato e che i problemi si verificano all'interno del browser.

AIUTO!

La newsletter dovrebbe essere andata due giorni fa, ma la stiamo tenendo mentre tentavamo di risolvere questo problema. La cattiva notizia è che ho esaurito le idee.


EDIT:

SOLUZIONE:

Ho seguito il suggerimento di pestaa (vedi risposta qui sotto), che fornisce una soluzione che funziona. Non ottimale per il tipo di utente (carità medica per l'encefalite, che può lasciare i pazienti con lesioni cerebrali), ma funziona. Vale a dire, allegare la seguente intestazione http:

Content-Disposition: attachment 

Per fare questo, ho creato una pagina che che ha un pulsante con il seguente codice:

protected void downloadButton_Click(object sender, EventArgs e) 
    { 
     string fileName = "newsletter49.pdf"; 

     string filePath = Server.MapPath("~/images/ipdf/mailings/" + fileName); 
     Response.Clear(); 

     Response.AppendHeader("content-disposition", "attachment; filename=" +  fileName); 
     Response.ContentType = "application/octet-stream"; 
     Response.WriteFile(filePath); 
     Response.Flush(); 
     Response.End(); 
    } 

Il codice HTML della pagina (tasto include per il download di Acrobat Reader come richiesto dagli standard W3C):

<h2> 
     Our Autumn/Winter 2010 Newsletter is now available</h2> 
    <p> 
     Please click on the button below:</p> 
    <asp:Button ID="downloadButton" runat="server" OnClick="downloadButton_Click" Text="Download Newsletter" /> 
    <div style="margin-top: 10px; border: 1px solid #ccc; background: #ebebeb; padding: 6px;"> 
     <p> 
      If you do not have Adobe Acrobat Reader, you will not be able to read the Newsletter. 
      To get Acrobat Reader, click the button below and download it from Adobe's website:</p> 
     <a title="This link opens in a new window to allow you to download Adobe Reader!" 
      href="http://get.adobe.com/uk/reader" target="_blank"> 
      <img alt="Get Adobe Reader for viewing PDF files" src="../Images/SharedImages/get_adobe_reader.gif" 
       style="border: none;" /></a> 
    </div> 

sto aspettando di vedere se qualcuno riesce a capire quello che potrebbe essere sbagliato con il pdf. Altrimenti, pestaa prenderà il biscotto.


EDIT 2:

ho accettato il suggerimento di pestaa come l'unico corso affidabile. Non è l'ideale, dato che si tratta di un ente di beneficenza medico per una sindrome che può causare danni al cervello, quindi i passaggi extra per il download e l'apertura del pdf sono onerosi. Ma non va bene se il browser si blocca su di loro.

Se qualcuno sente di questo problema essere risolto, si prega di lasciare un commento.

risposta

6

Questo potrebbe non essere esattamente quello che stai cercando, ma se il download del PDF è sufficiente o fine, questa è l'intestazione HTTP è necessario collegare l'invio del contenuto:

Content-Disposition: attachment 

Questa forze il browser per aprire la finestra di dialogo di apertura/salvataggio e probabilmente risolve il caso di buggy IE.

+0

+1 chi vuole leggere un PDF tutto incastrato in un browser web comunque? Il plug-in PDF, con la sua scomoda interfaccia utente e una miriade di buchi di sicurezza, è la cosa peggiore per il web da "". – bobince

+0

+1. Anche se viene trovata la vera causa, questa potrebbe essere una buona idea. Quando la tua connessione Internet è lenta, l'apertura di un PDF più grande direttamente in Firefox tende a bloccare il browser completo per un minuto o più, indipendentemente dal fatto che il tuo PDF sia ok o meno. –

+0

Purtroppo, la stragrande maggioranza dei membri non tecnici della razza umana ... – awrigley

0

Il mio problema era con i nuovi Mozilla Fire Fox, Safari e IE 9. L'ho risolto aprendo Adobe Reader, Modifica, Preferenze, Deseleziona la modalità di protezione. C'era un problema di compatibilità con Norton Anti Virus. Spero che questo aiuti qualcuno.

Problemi correlati