Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 来自SQL的流式html不';t在IE9中显示图像_Image_C# 4.0_Internet Explorer 9_Httpresponse - Fatal编程技术网

Image 来自SQL的流式html不';t在IE9中显示图像

Image 来自SQL的流式html不';t在IE9中显示图像,image,c#-4.0,internet-explorer-9,httpresponse,Image,C# 4.0,Internet Explorer 9,Httpresponse,我有一个html文件作为二进制文件存储在我的SQL数据库中。html包含图像目录,图像存储在服务器上的这些目录中 Chrome、Safari、Firefox、IE7和IE8都显示图像和html文本,但IE9只显示html文本和“位图”字样来代替图像 此代码输出html: Response.Clear(); Response.CacheControl = "no-cache"; Response.Cache.SetCacheability(HttpCacheability.NoCache); Re

我有一个html文件作为二进制文件存储在我的SQL数据库中。html包含图像目录,图像存储在服务器上的这些目录中

Chrome、Safari、Firefox、IE7和IE8都显示图像和html文本,但IE9只显示html文本和“位图”字样来代替图像

此代码输出html:

Response.Clear();
Response.CacheControl = "no-cache";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetValidUntilExpires(false);
Response.ExpiresAbsolute = DateTime.Parse("1/1/2000");
Response.Expires = 0;
b = Compression.DeCompressByteArray(b);
Response.OutputStream.Write(b, 0, b.Length);
Response.End();
这只是一个显示主输出过程的片段

从输出html复制图像目录并将其放在我的地址栏中会打开图像,但IE9不想在html中显示它们,而是显示“位图”一词

此外:

  • 从SQL输出的html(和图像), 当作为独立的html运行时 在所有浏览器上
  • 当出现以下情况时,图像会显示在IE9中: 嵌入,如果我有兼容性 打开模式(但这会破坏其他模式) 东西)

    • 如何编写HTML(意思是通过C#或其他方式,或者它来自SQL Server)在这里几乎肯定是无关紧要的。我建议查看源代码,确认源HTML(没有来自ASP.NET、SQL Server等的任何干扰)仍然存在问题,然后发布该问题(并重新标记以反映C#和SQL Server与问题无关)。另外,请确保在使用兼容模式时说明它是否工作得更好。

      您必须为响应指定内容类型。那些标题不见了

      例如:

      Response.ContentType=“text/HTML”


      要回答这个问题:

      从我的SQL Server流式传输的html没有定义doctype,因此在IE8 down中以Quirks模式运行。IE9强制没有doctype的iframe使用其父级的doctype


      html来自excel的输出,发布时不会生成doctype。

      我已经更新了问题。在我的aspx页面之外运行html是可行的,因此它一定与c#中的响应有关。你是什么意思?因此,如果您查看ASPX页面的源代码(不起作用),将其保存为HTML文件,并将其作为HTML打开,它会起作用吗?使用兼容模式的结果是什么?我直接从sql中获取html,从view源代码获取html,并将其保存为自己的html文件。从.aspx页面运行它是可行的,但嵌入到.aspx页面时则不行。html确实略有不同,但工作原理相同。html输出嵌入到iframe中,我想知道这是否是问题所在……是的,这是我尝试的第一件事。这没什么区别。Response.ContentType=“text/HTML”;我的问题不是关于SQL的HTML输出。我的问题是关于C#(查看源代码)的HTML输出。我打赌这是一个显著的区别。