我想在浏览器中显示一个Flash文件。从动作返回图像(我可以在浏览器中看到图像)。但是当我尝试使用Flash文件进行响应时,浏览器会尝试下载它。
这是我的行动:
[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 :(得分:1)
我设法让它发挥作用。
您需要做的就是在<handlers>
下的网络配置中添加以下内容:
<add name="FlashExtension" path="foobar/*.swf" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
我将[GET("file")]
更改为[GET("foobar/{path}.swf")]
并在我的HTML文件中使用此URL,如下所示:
<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在浏览器中显示我的Flash视频。