Asp.net 在c中读取内容类型为multipart/x-mixed-replace的HttpWebResponse#
我有一个Asp.Net应用程序,我需要它来显示视频提要。视频提要具有内容类型为“multipart/x-mixed-replace”的Httpwebresponse;边界=--myboundary'Asp.net 在c中读取内容类型为multipart/x-mixed-replace的HttpWebResponse#,asp.net,httpwebrequest,httpwebresponse,Asp.net,Httpwebrequest,Httpwebresponse,我有一个Asp.Net应用程序,我需要它来显示视频提要。视频提要具有内容类型为“multipart/x-mixed-replace”的Httpwebresponse;边界=--myboundary' Stream responseStream=response.GetResponseStream() StreamReader StreamReader=新的StreamReader(StreamReader,Encoding.ASCII) 返回streamReader.ReadToEnd();
Stream responseStream=response.GetResponseStream()
StreamReader StreamReader=新的StreamReader(StreamReader,Encoding.ASCII)
返回streamReader.ReadToEnd();
我试过使用字符串读取器,但不起作用。
请告诉我如何阅读(访问)内容类型为multipart/x-mixed-replace的回复;边界=--myboundary
提前谢谢
问候,,
Praveen我假定您的ASP.Net应用程序是一个服务器,它对.Net核心客户端(如UWP或WPF)做出这样的多部分响应,因为服务器就像一个控制台应用程序,无法显示视频。否则,服务器可以按原样逐块将流转发给客户端。对于尚未结束的实时视频源,您不能
.ReadToEnd()
//使用Microsoft.Net.Http.Headers;//从内容类型解析边界的步骤
//使用Microsoft.AspNetCore.WebUtilities;//阅读多部分的每个部分
使用(var responseStream=response.GetResponseStream())
{
var contentType=MediaTypeHeaderValue.Parse(response.contentType);
var boundary=HeaderUtilities.RemoveQuotes(contentType.boundary).Value;
对于(var streamReader=newmultipartreader(boundary,responseStream);)
{
var nextFrame=wait streamReader.ReadNextSectionAsync(cancellationToken);
if(nextFrame==null)
打破
DisplayOneFrameCallback(nextFrame.Body);
}
}
然后,您需要实现DisplayOneFrameCallback()
,它一次获取一个帧的流,并向位图解码器提供如下信息:
//对于UWP,通过调度器将流复制到InMemoryRandomAccessStream
myBitmapImage.SetSourceAsync(memoryStreamOfOneFrame);
如果这不能回答您的问题,请提供更多详细信息