C# HttpListener:IE11 不适用CSS
C# HttpListener: IE11 does not apply CSS
我编写了一个简单的 HttpListener 应用程序,它为离线 html 应用程序提供服务。
在 firefox 中一切正常,但 IE 不应用 css 文件中的样式。
它请求它们,我将它们发回,但它不应用它们...
// Construct a response.
List<byte> bytes = new List<byte>();
using (FileStream fs = new FileStream(path, FileMode.Open))
using (BinaryReader br = new BinaryReader(fs))
while (br.BaseStream.Position != br.BaseStream.Length)
bytes.Add(br.ReadByte());
buffer = bytes.ToArray();
// Get a response stream and write the response to it.
response.ContentLength64 = buffer.Length;
response.RedirectLocation = path;
switch (ext)
{
case "css":
mime = "text/css";
break;
case "js":
mime = "text/javascript";
break;
case "png":
mime = "image/png";
break;
case "jpg":
mime = "text/jpeg";
break;
case "gif":
mime = "image/gif";
break;
}
response.AddHeader("content", mime);
using (Stream output = response.OutputStream)
output.Write(buffer, 0, buffer.Length);
break;
就像埃塞尔说的,
response.ContentType = mime;
是必经之路。
我编写了一个简单的 HttpListener 应用程序,它为离线 html 应用程序提供服务。 在 firefox 中一切正常,但 IE 不应用 css 文件中的样式。 它请求它们,我将它们发回,但它不应用它们...
// Construct a response.
List<byte> bytes = new List<byte>();
using (FileStream fs = new FileStream(path, FileMode.Open))
using (BinaryReader br = new BinaryReader(fs))
while (br.BaseStream.Position != br.BaseStream.Length)
bytes.Add(br.ReadByte());
buffer = bytes.ToArray();
// Get a response stream and write the response to it.
response.ContentLength64 = buffer.Length;
response.RedirectLocation = path;
switch (ext)
{
case "css":
mime = "text/css";
break;
case "js":
mime = "text/javascript";
break;
case "png":
mime = "image/png";
break;
case "jpg":
mime = "text/jpeg";
break;
case "gif":
mime = "image/gif";
break;
}
response.AddHeader("content", mime);
using (Stream output = response.OutputStream)
output.Write(buffer, 0, buffer.Length);
break;
就像埃塞尔说的,
response.ContentType = mime;
是必经之路。