我正在编写服务器端程序。
我创建了一个HttpListener
来监听传入的请求。
如何找出正在发送的数据类型?例如。它是文字,图像,pdf,字吗?
如果错误,请在下面更正我的代码。 我是新手,我对HTTP概念的理解可能是错误的。感谢。
main()
{
HttpListener listener = new HttpListener();
listener.Prefixes.Add("http://192.168.1.2/");
listener.Start();
while (true) //Keep on listening
{
context = listener.GetContext();
HttpListenerRequest request = context.Request;
//Do I get the request stream here, and do something with the stream to find out what data format is being sent?
Stream requestStream = request.InputStream;
}
}
答案 0 :(得分:3)
了解正在发送的数据类型的唯一简单方法是查看请求的Content-Type
标头(通过ContentType
属性公开),该标头应包含内容的MIME类型:
switch(request.ContentType)
{
case "image/png":
case "image/jpeg":
case "image/bmp":
case "image/gif":
case "image/tiff":
// OK, this is an image
...
break;
default:
// Something else
...
break;
}
请注意,此方法并不总是有效,因为客户端可以发送请求而不指定Content-Type
标头,或发送与标头不匹配的数据...