Non è possibile per un PDF per contenere un riferimento un'immagine esterna (almeno dalla mia comprensione). Affinché un'immagine possa apparire nel PDF, deve essere incorporata nel documento. Pertanto, per utilizzare un'immagine esterna, l'app deve recuperare l'immagine e memorizzarla nel documento. Il visualizzatore di report proverà a farlo per te.
due possibili risposte:
First, in modo che la vostra applicazione per confezionare l'immagine nel formato PDF, deve essere in grado di recuperare l'immagine dall'URL si specifica. Se quell'URL si trova dietro un proxy (dal punto di vista dell'app server) e/o richiede l'accesso alle credenziali, questo presenterà una sfida con la configurazione predefinita del visualizzatore di report.
Se il problema è un server proxy, vedere le impostazioni sul proprio web.config che è possibile aggiungere di seguito. Potrebbe inoltre essere necessario fornire credenziali di rete, in modo che l'app possa autenticarsi con il proxy. Ci sono molti modi per risolvere questo problema, ma uno dei più semplici è eseguire la tua applicazione come account di servizio sul tuo dominio che ha i diritti di attraversare il tuo proxy. Puoi verificarlo eseguendo il sito temporaneamente (dovrebbe essere temporaneo perché si tratta di una pratica di sicurezza orribile).
L'immagine che stai utilizzando potrebbe richiedere l'accesso delle credenziali (prova a tirare l'immagine in Firefox con i cookie vuoti e verifica se le credenziali erano necessarie per accedervi). Se richiede l'autenticazione di Windows, la stessa soluzione per la sicurezza del proxy può essere applicata all'autenticazione richiesta sull'immagine remota. Se richiede qualche altra forma di autenticazione, potrebbe essere meglio scaricare e incorporare l'immagine nel tuo progetto.
È anche possibile scaricare l'immagine utilizzando altri mezzi nel codice e convertirla in un array di byte per l'inclusione nel report. Ci sono molti esempi di questo sul web, tra cui Stack Overflow here.
In secondo luogo, date un'occhiata alla seguente pagina:
http://msdn.microsoft.com/en-us/library/ms251715%28VS.80%29.aspx
Utilizzando immagini esterne in un report ReportViewer non è attivata per impostazione predefinita . Per utilizzare un'immagine esterna, è necessario impostare la proprietà AbilitaExternalImages nel codice . A seconda della configurazione di rete, è possibile che sia inoltre necessario ignorare le impostazioni del proxy su consentire l'immagine esterna. È possibile aggiungere le seguenti impostazioni a il file Web.config per ignorare il proxy locale . Quando si modifica il file web.config , assicurarsi di specificare il nome del server proxy che è utilizzato nella rete:
<system.net>
<defaultProxy>
<proxy usesystemdefault = "false" bypassonlocal = "true" proxyaddress = "http://<proxyservername>:80/" />
<defaultProxy>
</system.net>
Speranza uno o entrambi questi aiuti.
Jerry
Ho dimenticato di dire che se l'immagine è nell'app locale e si utilizza l'autenticazione di Windows, è possibile che si verifichi un problema comune in cui l'autenticazione di Windows non riesce localmente: http://support.microsoft.com/kb/896861 È inoltre necessario eseguire il troll del registro eventi sul server per qualsiasi tipo di errore o errore di autenticazione per facilitare la diagnosi di questo problema. Jerry –
Che tipo di autenticazione hai sul tuo sito locale? Hai sollevato l'immagine in IE o hai provato con Firefox come suggerivo? Hai errori rilevanti nel registro eventi? –
Penso di aver menzionato l'immagine nel browser. Inoltre, non c'è nulla nei registri eventi quando si genera il report. Apprezzo i tuoi suggerimenti, ma nessuno di loro sembra risolvere il problema. Sono d'accordo sul fatto che l'immagine potrebbe essere recuperata e convertita in un array di byte da mostrare, ma preferirei evitare quella particolare, dato che questo è solo un problema localmente e non in uso live. –