Gmail喜欢使用jQuery上传文件

我想像google mail一样上传文件。 我想使用jQuery和PHP来实现它无论如何获得进度条等?

在这里,我添加了一个谷歌如何做到这一点的video。 http://dl.getdropbox.com/u/5910/Jing/2009-04-02_1948.swf

没有闪光,没有perl或cgi请..

我想我现在可以没有进度条,我实际上是在搜索有关jquery插件的信息,或者我需要查看的内容

当你可以在gmail界面中清楚地看到swf文件时,人们说gmail不使用flash是很奇怪的。 尝试右键单击“附加文件”。 这是允许一次多次上传的内容。

最简单的方法是使用SWFUpload ,这是一个用Flash编写的小按钮,所有钩子都用JS驱动它。 非常易于使用,适用于PHP

但是,如果你真的希望它是纯JS,你需要服务器的一些帮助。 具体来说,您需要开始上传,并定期向服务器查询它的运行方式。 遗憾的是,PHP上传处理在下载完成之前不会收到任何通知。 你必须用别的东西替换它。 有一些纯粹的JS上传器包含了样本Perl服务器代码。

IOW:JS和PHP没有(完全)削减它。 要么将Flash添加到客户端,要么在服务器上添加更好的上传处理程序。

在我看来这是一篇关于这个主题的优秀文章: http : //robertnyman.com/html5/fileapi-upload/fileapi-upload.html

不幸的是IE和Opera缺乏支持,但希望这会改变。

Uploadify是另一个使用jquery的swf(抱歉)上传按钮。 和哈维尔提到的一样。

PHP不支持直接报告上传进度。 因此无法回读上传状态。 但是,有一个可能有效的补丁 。 我没试过。

GMail使用Flash在后台上传文件。 SWFUpload是一个开源项目,可以解决类似的问题。

… gmail使用具有样式显示的iFrame:hidden; 然后当您在表单上上传时,它会将iFrame发送到上传url。 根本没有涉及闪光灯。 Google在Gmail上使用Flash的唯一方法就是为聊天提供噪音。 你必须在设置中允许它。 他们并没有真正使用闪存太多因为它在内存和CPU使用方面非常糟糕。 Javascript可以做闪光所能做的任何事情(在某些情况下可以使用更多代码进行同步)但Javascript,99%的情况下更快,内存更好。

也许你可以使用PlUpload。 它支持许多类型,并且可高度自定义。 您可以在网站上查看演示。 在主页上,它还显示了它在主页上支持的内容,并具有回退机制。

http://www.plupload.com/

编辑:它可以作为jQuery插件使用。

SWFUpload是gud并且与所有类型的Web应用程序兼容

关于Ajax在表单提交时不支持二进制数据..有一种解决方法; 如果你是jQuery,那么你可以在http://www.malsup.com/jquery/form/上使用这个Form Plugin(来自malsup)。 我已经使用它多年了……

plupload似乎也很有希望..赞成这一点;)我必须说它有点笨重!!!