0
私はB/Sアプリケーションを持っています。http_responseによって送信されたが、テキストとして開かれたhtml#
private static void httpRequestHandler(httpListenerContext ctx){
//check if it's a request for files
if(ctx.Request.Url.AbsolutePath.Length > 0){
//read the file into byte array "buffer"
string path = _appFilePath + ctx.Request.Url.AbsolutePath.Replace('/','\\');
byte[] buffer;
try{
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
FileInfo info = new FileInfo(path);
buffer = new byte[info.Length];
fs.Read(buffer, 0, Convert.ToInt32(info.Length));
fs.Close();
}
catch{
return;
}
//send data back
ctx.Response.Headers.Add("HttpResponseStatus:OK");
ctx.Response.ContentLength64 = buffer.Length;
ctx.Response.ContentType = "HTML";
ctx.Response.OutputStream.Write(buffer, 0, buffer.Length);
ctx.Response.OutputStream.Flush();
ctx.Response.Close();
}
}
とhtmlファイル:
<!DOCTYPE html>
<html lang="en" xmlns="http:/www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=chrome" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>....</body>
</html>
、ブラウザで私はアドレスとしてを入力し、サーバー側で
、私は、ポート35349上のhttpListener
リッスンなど
httpRequestHandler
を持っています
http://192.168.1.16:35349/test.html
、それは私にテキストとしてのHTMLを示しています!
問題は次のとおりです。私はアドレスを入力した後にHTMLページが必要ですが、テキストページは入力しません。どのように私のコードを変更する必要がありますか?あなたがtext/html
を使用するか、それがデフォルトだと、単に完全にその行を削除したいと思うよう
、それは動作しません取り外し、はい、それは "text/html"で動作します。どうもありがとう! –