0

想象一下,您有一个允许文件上传的表单。该文件的大小限制为 X MB。当我们想要验证文件的大小时,我们会遇到 Internet Explorer 及其安全功能的问题。

我们认为 Flash 可能是一种解决方案,我们想使用它来检查文件的大小,如果它通过了我们的验证,则允许它与表单的其余部分一起提交。问题是,所有使用 Flash 执行文件验证的代码片段都使用 Flash 发布文件上传。我希望能够一次发布整个表单,因为我的对象取决于一次收到的所有参数。

我的一位同事说上述情况应该是可能的,但我认为不是。是否有其他替代方案,或者是否仅使用 Flash 创建/处理帖子?

4

1 回答 1

1

有可能的。我最近制作了一个类似的 Flash 文件。基本上,它检查加载的 swf 的帧速率、文件大小、actionscript 版本和一堆其他东西,然后通过外部接口将其输出到 javascript。

然而,它确实感觉有点笨拙,有很多步骤和异步调用。

当然,首先您必须创建将检查该文件的闪存文件。我没有我做的那个,因为我在家,真的应该在床上 :) 你的解决方案也会有很大不同,但如果你愿意,我可以明天发布。(或者今天晚些时候)

要创建闪存,您将需要 ExternalInterface。可以添加回调,以便您可以通过 javascript 在 Flash 中调用函数。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html

然后将 Flash 文件嵌入页面的某个位置。如果我没记错的话,它不能在隐藏的 div 中。

在 swf 具有文件大小后可以调用的页面上创建一个 javascript 函数。

当您想检查文件大小时,调用 swf 中的相关函数(带有文件 url)。

swf 中的函数应该加载文件,然后能够将文件大小输出到 javascript 函数。

于 2012-08-21T00:38:31.940 回答