こんにちは私はモバイルクライアントで私の安らかなwcfサービスからビデオを再生しようとしています。リンクを開くと、mediaPlayerとブラウザでビデオが再生されず、実際にファイルのダウンロードが開始されます。
これがc#コードです
public Stream playVideo(string VideoId)
{
HttpContext context = HttpContext.Current;
if (response[1] != null)
{
string video_path = Constants._VideosDirectory + "\\" + response[1] + "\\" + VideoId + ".MOV";
if (File.Exists(video_path))
{
FileStream stream = new FileStream(video_path, FileMode.Open, FileAccess.Read);
FileInfo fileInfo = new FileInfo(video_path);
context.Response.ClearContent();
context.Response.ClearHeaders();
context.Response.AddHeader("Content-Length", fileInfo.Length.ToString());
context.Response.AddHeader("Content-Disposition", "attachment; filename=" + fileInfo.FullName.Replace(" ", "_"));
context.Response.ContentType = ReturnFiletype(fileInfo.Extension.ToLower());
WebOperationContext.Current.OutgoingResponse.ContentType = "video/quicktime";
return stream;
}
}
}
これがこのサービスのwebhttpBindingです
<bindings>
<webHttpBinding>
<binding transferMode="Streamed"
maxBufferPoolSize="250000000"
maxBufferSize="5242880"
maxReceivedMessageSize="2147483647"
openTimeout="05:25:00"
closeTimeout="00:25:00"
sendTimeout="00:25:00"
receiveTimeout="0:25:00"
name="webBinding"
/></webHttpBinding>
</bindings>
<service behaviorConfiguration="RestBehavior" name="Test.StreamVideo">
<endpoint address="" behaviorConfiguration="web" binding="webHttpBinding" bindingConfiguration="webBinding"
contract="Test.IStreamVideo" />
</service>