Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我是否可以验证文件';使用flash时的大小是否仍然正常上载?_Javascript_Flash_File Upload - Fatal编程技术网

Javascript 我是否可以验证文件';使用flash时的大小是否仍然正常上载?

Javascript 我是否可以验证文件';使用flash时的大小是否仍然正常上载?,javascript,flash,file-upload,Javascript,Flash,File Upload,假设您有一个允许文件上传的表单。文件大小限制为X MB。当我们想要验证文件的大小时,我们会遇到Internet Explorer及其安全功能的问题 我们认为Flash可能是一个解决方案,我们希望使用它检查文件的大小,如果它通过了我们的验证,允许它与表单的其余部分一起提交。问题是,所有使用Flash执行文件验证的代码片段都使用Flash上传文件。我希望能够一次发布整个表单,因为我的对象依赖于同时接收的所有参数 我的一位同事说上述情况应该是可能的,但我认为不是。是否有其他选择,或者使用完全Flash

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

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


我的一位同事说上述情况应该是可能的,但我认为不是。是否有其他选择,或者使用完全Flash创建/处理帖子是唯一的选择?

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

然而,它确实感觉有点黑客与许多步骤和异步调用

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

要创建flash,您需要外部接口。可以添加回调,以便通过javascript调用flash内部的函数。

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

在页面上创建一个javascript函数,swf一旦具有文件大小就可以调用该函数

当您想要检查文件大小时,在swf中调用relevent函数(使用文件url)


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

您必须让Flash处理文件选择过程,从而完成上传——但是,您可以随时告诉Flash所有其他POST参数,以便您仍然从一个位置上传一次。服务器不会知道区别。好的,但要一次发布所有内容,文件应该作为正常上传文件加载到文件字段,而不是上传到Flash,对吗?从那里,不管怎样,Flash应该访问它并报告文件大小是否太大。对不起。我犯了一个错误。既然文件是本地文件?您必须使用filereference。不幸的是,filereference需要用户输入才能工作,所以这不是一个好的解决方案。也许这可以工作:我们尝试了ActiveX,但MS发布了一些更新,它不再适用于我们。当然,但是,回到最初的问题,我所要求的是不可能的,对吗?