Fondamentalmente ho un sito web che rende anteprima HTML di alcuni documenti (prevalentemente ufficio). Il frammento di codice HTML risultante è incluso nella pagina restituita dallo stesso sito web, ma le immagini vengono restituiti dal gestore HTTP da un altro sito con i seguenti link:Chrome browser non mostrare le immagini generate dal gestore HTTP
<img width="50" height="50" src="http://portal/Service/GetFile.asxh?id=123&inline=true">
Per qualche motivo tutti i browser tranne Chrome (ad esempio IE6/7/8, Firefox, Opera, Safari) mostra tutto bene, tuttavia per queste immagini Chrome mostra l'icona "immagine spezzata". Se scelgo "Apri immagine in una nuova scheda", l'immagine viene mostrata correttamente.
Modifica Ho pensato di aver risolto questo problema, ma a quanto pare con Fiddler attivato funziona correttamente.
ho avuto context.Response = "utf-8" a sinistra in codice, ma la rimozione aveva alcuna differenza.
intestazioni:
HTTP/1.1 200 OK
Date: Wed, 05 Jan 2011 14:26:57 GMT
Server: Microsoft-IIS/6.0
MicrosoftOfficeWebServer: 5.0_Pub
X-Powered-By: ASP.NET
X-AspNet-Version: 4.0.30319
Transfer-Encoding: chunked
Cache-Control: no-cache
Pragma: no-cache
Expires: -1
Content-Type: image/jpeg
Codice:
context.Response.ContentType = file.ContentType;
context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
byte[] buff = new byte[BuffSize];
using (var stream = repository.GetFileContentsAsStream(file.ContentId))
{
int bytesRead;
do
{
bytesRead = stream.Read(buff, 0, BuffSize);
if (bytesRead > 0)
{
context.Response.OutputStream.Write(buff, 0, bytesRead);
}
} while (bytesRead > 0);
}
context.Response.Flush();
context.Response.Close();
Il vostro gestore di impostare il corretto tipo di contenuto? –
quali intestazioni il tuo gestore invia la risposta? –
Sei assolutamente positivo che il tuo servizio stia generando le intestazioni corrette? Ho avuto problemi simili prima ed è quasi sempre stato un problema con le intestazioni o il torrente, alcuni browser perdonano alcune cose che gli altri non lo fanno. E presumo che volevi dire "ashx" e non "asxh" :) –