为什么上传按钮显示得这么慢?

时间:2012-01-20 06:23:28

标签: php jquery html file-upload uploadify

我正在开发一个现有项目。我使用jQuery Uploadify插件上传文件。以下按钮代码用于上传文件:

<div>
     <input width="167" type="file" height="47" name="file_upload" class="file_upload" id="file_upload" style="display: none;">
     <object width="167" height="47" type="application/x-shockwave-flash" data="/uploadify/uploadify.swf" id="file_uploadUploader" style="visibility: visible;"><param name="quality" value="high">
         <param name="wmode" value="transparent">
         <param name="allowScriptAccess" value="sameDomain">
         <param name="flashvars" value="uploadifyID=file_upload&amp;pagepath=/en/media-maker/&amp;script=/en/media-maker/upload/file&amp;folder=&amp;scriptData=level%3D1%26folderid%3D15%26symfony%3Dbtt461h1nor36k2taotp6jhku4&amp;width=167&amp;height=47&amp;wmode=transparent&amp;method=POST&amp;queueSizeLimit=20&amp;simUploadLimit=1&amp;hideButton=true&amp;fileDesc=Image / Video / Audio&amp;fileExt=*.jpg;*.jpeg;*.gif;*.png;*.bmp;*.svg;*.avi;*.divx;*.dvx;*.dv;*.asf;*.asx;*.3gp;*.3g2;*.3ivx;*.3vx;*.mov;*.mp4;*.m4v;*.mpg;*.mpeg;*.qt;*.rm;*.swf;*.wmv;*.mkv;*.mts;*.part;*.mp3;&amp;multi=true&amp;auto=true&amp;sizeLimit=524288000&amp;fileDataName=Filedata&amp;queueID=uploadList">
     </object>
</div>

我的问题是,当我刷新网页时,此按钮显示得很晚。只有在整个页面上传后才会出现此按钮。有时此按钮不会出现在某些浏览器上并且网络连接速度较慢。如何让它看起来更快?

由于

2 个答案:

答案 0 :(得分:3)

首先,为什么要使用闪存呢?杀死flash并执行纯jQuery-PHP AJAX实现并使用图像使按钮看起来很漂亮。 Flash实际上应该仅限于视频播放器,甚至HTML5的情况也很快就会出现。

我只是查找了uploadify,你一定要选择不同的工具避免不惜一切代价使用闪存。我已经专业地进行了5年的网络开发,如果你在我第一次开始玩它作为业余爱好时包括10年。我可以从个人经验告诉你,当谈到闪光时,请说不。

下面我列出了我在另一个StackOverflow答案中找到的备选方案列表(http://stackoverflow.com/questions/4072889/uploadify-alternative-need-to-upload-large-1gb-files)。从我看来,我认为“Plupload”和“jQuery AJAX文件上传”看起来不错。

答案 1 :(得分:1)

如果<object>是你的按钮而且它是某种.swf flash文件...那么浏览器无法显示它,直到它从/uploadify/uploadify.swf下载整个内容...不是提到它必须启动Flash插件只是为了呈现一个简单的按钮。这就是为什么它很慢。

我不能说当CSS已经被如此众多的浏览器所支持时,我会主张使用flash文件作为按钮。我可能会把它称为完全没有意义。