文件上传进度条[重复]
Posted
技术标签:
【中文标题】文件上传进度条[重复]【英文标题】:File upload progress bar [duplicate] 【发布时间】:2011-04-06 11:20:21 【问题描述】:可能重复:Upload Progress Bar in php
任何人都可以建议一种在上传文件时包含文件上传进度条的好方法。我知道这将是 javascript 和 php 的混合。请推荐一个
【问题讨论】:
我经常想知道这一点。我之前一直使用 Flash 解决方案,例如 Uploadify。我尝试过使用 jQuery,但尝试使用两个 Ajax 请求时失败了。但我发现 Flash 解决方案不可靠,尤其是在 IE 中。这并不奇怪。 忘掉javascript吧。不幸的是,Flash 是目前理想的解决方案 这个问题已经被问过几次了:***.com/questions/849237/upload-progress-bar-in-php***.com/questions/653063/… 【参考方案1】:我喜欢uploadify。它很容易实现并且完美地完成了这项工作。
【讨论】:
是的,我喜欢uploadify,目前使用它来显示上传进度。它是一个好而整洁的。我正在尝试另一种方式,这样我就可以用更少的文件和对设计的更多控制来完成这项工作,因为我不太适合 swf flash 的东西。我也怀疑我是否可以在通过使用 ffmpeg 上传视频文件时进行视频编码 当然可以。一旦文件在服务器上,它不会改变它是如何到达那里的。 javascript 解决方案必须在 Internet Explorer 上进行测试。祝你好运。 :) 谢谢,您有没有使用 ffmpeg 以外的示例编码技术将视频文件转换为 .flv .mp4 和 .avi 格式的想法。导致我当前的主机账号不支持ffmpeg格式 什么都没有,除了使用像永恒的服务这样为你做这件事。甚至存储视频。想到了 Amazon S3。【参考方案2】:http://valums.com/ajax-upload/
我最近偶然发现了这个,非常喜欢它。
【讨论】:
不过好像没有进度条。 标题带有进度条。不过我不确定。【参考方案3】:SWFUpload
SWFUpload 是一个 JavaScript 库, 包装 Flash Player 的上传 功能。它将您的上传内容带到 多文件的下一个级别 选择、上传进度和 客户端文件大小检查。
【讨论】:
嗯...不是真的:它的工作方式与普通的基于表单的文件上传不同。你不能只是把它放到一个普通的文件上传表单中并显示一个进度条,我认为这是 OP 正在寻找的。 (如果没有,SWFUpload 是一个不错的选择!) 是的,但我也想要这个带有进度条的简单表单,上传后它会将内容编码为其他格式,例如 .flv .mp4 和 .avi,因为我希望这个表单可以上传视频跨度> swf 上传很棒,但我没有像你说的那么深入,在上传后编码视频文件的这种特定情况下可能没有用【参考方案4】:您必须检查服务器上已准备好的文件部分的大小,然后通过 Ajax 在客户端上获取它,您可以在其中绘制进度条。 (记得在之前检查孔数据的大小,以计算百分比;-))
【讨论】:
所以...你必须上传文件才能知道它的大小,然后及时跳回显示进度条? :) right :-D 不,您可以在上传之前根据 JS 在浏览器中读取文件大小... 这是不可能的。无法从 JavaScript 访问本地文件。 @Pekka 在更现代的浏览器中是可能的:developer.mozilla.org/en/…【参考方案5】:我认为使用 ajax 是不可能的。只有在上传之后才能获得完整的文件大小,到那时为时已晚。 '
但是,如果您使用基于 Flash 的上传器,这是可能的。
【讨论】:
【参考方案6】:所有看起来“ajaxy”的解决方案都使用一个 swf 对象来完成上传工作。如果你有像 APC 这样的操作码缓存器,你可以自制你的进度条
这是 Martin Jansen 写的关于 Rasmus Lerdorf 的简单 upload code 最终使用 APC 的博客
http://martinjansen.com/2007/04/28/file-upload-progress-bars-with-php/
还有一个working example
【讨论】:
以上是关于文件上传进度条[重复]的主要内容,如果未能解决你的问题,请参考以下文章