2017-07-20 1 views
0

ブラウザにフラッシュファイルを表示します。アクションからイメージを返すことができます(私はブラウザでイメージを見ることができます)。しかし、私がフラッシュファイルで応答しようとすると、ブラウザはそれをダウンロードしようとします。ここでWebApi - フラッシュファイルで応答してブラウザに表示する方法

は私のアクションです:

[HttpGet] 
    [GET("file")] 
    public HttpResponseMessage FlashFile() 
    { 
     string filePath = HttpContext.Current.Server.MapPath(@"~/flashfile.swf"); 
     HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); 
     var stream = new FileStream(filePath, FileMode.Open, FileAccess.Read); 
     result.Content = new StreamContent(stream); 
     result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/x-shockwave-flash"); 
     return result; 
    } 
+0

ブラウザはオブジェクトのレンダリング方法を知らない。このためにはエンドポイントが必要です。上記のものはそのままですが、通常、ページ上でフラッシュをレンダリングするのと同じように、フラッシュファイルエンドポイントを指すオブジェクトマークアップをHTMLに返す別のものが必要です – Nkosi

答えて

1

私はそれが働いて得ることができました。私は[GET("foobar/{path}.swf")]

[GET("file")]を変更し、そのように私のHTMLファイルでこのURLを使用

<add name="FlashExtension" path="foobar/*.swf" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 

すべてを行う必要が<handlers>の下でウェブの設定で、このラインを持っています

<object width="550" height="400"> 
<param name="movie" value="http://localhost:50000/foobar/flashfile.swf"> 
<embed src="http://localhost:50000/foobar/flashfile.swf" width="550" height="400"></embed> 
</object> 

これはWebApiを使用して私のフラッシュビデオをブラウザの中に表示します。

関連する問題