【发布时间】:2012-05-22 18:04:52
【问题描述】:
我在这里尝试使用 ASP.net 处理程序或其他显示二进制 .swf 文件的方式(即来自数据库)在 IE7 中显示基于图像的 .swf 文件时遇到了很大的困难。利用 HTTP 处理程序(Handler.ashx),我希望导航到该 url 并显示 .swf 图像,类似于使用浏览器打开 .swf 文件。我根本无法让它工作......
为了显示这些值,我尝试了许多不同的方法,它们在下面列出,然后是类似于我在应用程序中使用的代码的 sn-p。
1) 将标头中的 content-disposition 值更改为使用 附件,.swf 文件将被保存并可以使用 浏览器。
2) 当使用内容类型为“image/png”的 .png 文件时,此 完美运行。
public void ProcessRequest (HttpContext context) {
Byte[] swfFile = File.ReadAllBytes("file.swf");
context.Response.Buffer = true;
context.Response.Clear();
context.Response.ContentType = "application/x-shockwave-flash";
context.Response.AddHeader("Content-Disposition", "filename=file.swf");
context.Response.BinaryWrite(swfFile);
context.Response.Flush();
context.Response.End();
}
任何帮助将不胜感激,在此先感谢您!
【问题讨论】:
-
你如何在网页上初始化它?你有没有把它放在 html 页面上的一个对象中?它是一个 Flash 文件,你不能就这样扔掉它。
-
我尝试将它嵌入到一个对象中并在源代码中引用 ashx 页面,如下所示:
-
我建议使用 Fiddler、Charles 等请求监视器来查看磁盘上 .swf 的响应标头;然后在你的处理程序中复制它们。