我正在使用开源工具编写一个 Flash 应用程序。我想将数据文件加载到应用程序中并在服务器上捕获舞台的屏幕截图。唯一看起来神秘的部分是在服务器上运行应用程序。事实上,我什至不在乎它是否在服务器和浏览器中运行相同的应用程序——如果我可以使用 Flash 阶段和绘图例程在服务器端生成图像,我就很高兴了。如果我必须深入研究 flex,那很好。现在我根本找不到任何起点。
我了解到 Adobe 有一些商业产品可能符合要求,但我想坚持使用开源、apache 和 linux。我知道这可能用 haxe/neko 实现,但如果可能的话我想使用更多主流工具。我是不是要求太多了?
编辑/澄清:非常感谢到目前为止的回复,但我认为我的描述有点模糊。我已经按照建议使用相同的 PNGEncoder 类编写了实际的舞台抓取内容。问题在于实际在服务器端运行 swf。我不想让客户端自己截屏,因为这会增加客户端恶意提交与舞台上的内容不对应的截图的可能性,即我不希望用户上传色情内容.如果我可以在服务器上运行 actionscript 代码,那么我可以从我的数据文件生成屏幕截图并确保屏幕截图与数据匹配,但我不知道如何在服务器上运行 actionscript 或 swf。
最佳答案
Swfs 在客户端计算机上运行,而不是在服务器上运行。它在服务器上运行的唯一方法是在服务器上设置一个特殊的环境,以便它运行 Web 浏览器,打开页面并运行 swf。但即便如此,它也与外部用户的行为无关。
您需要在客户端运行它。就您的安全问题而言,摆脱这些问题的最佳方法是让编写实际图像的 php 只接受图像文件的加密形式,flash 可以对其进行加密。这样他们就不能简单地使用 PHP 文件上传他们想要的任何图像,除非他们碰巧用与您的 swf 完全相同的方式对其进行加密。接下来加密 swf 本身(我推荐 SWF Shield),这样潜在的黑客就无法读取代码以了解如何加密图像。
关于actionscript-3 - 如何在服务器上生成 flash swf 的屏幕截图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/746095/