基本上我有一个网站,可以呈现某些文档(主要是办公室)的HTML预览。生成的HTML片段包含在同一网站返回的页面中,但是HTTP处理程序从其他站点返回图像,其中包含以下链接:
<img width="50" height="50" src="http://portal/Service/GetFile.asxh?id=123&inline=true">
出于某种原因,除Chrome以外的所有浏览器(例如IE6 / 7/8,Firefox,Opera,Safari)都显示一切正常,但是对于这些图片,Chrome会显示“已损坏的图片”图标。如果我选择“在新标签中打开图像”,则图像显示得很好。
编辑我以为我已经解决了这个问题,但显然Fiddler打开它工作正常。
我在代码中留下了context.Response =“utf-8”,但删除它没有区别。
接头:
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
代码:
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();
答案 0 :(得分:5)
答案 1 :(得分:4)
这是context.Response.Close(); Chrome不喜欢它。摆脱那条线,一切都会好的。我和它斗争了好几个月。
答案 2 :(得分:2)
答案 3 :(得分:0)
https://en.wikipedia.org/wiki/Comparison_of_web_browsers#Image_format_support
我在尝试上述所有问题后的问题仅仅是Chrome等不支持我的图像类型。 chrome不支持Tiff。