我正在尝试创建一个“上传文件,并将电子邮件作为附件”表单,在该表单中,文件在被选中后开始上传(如 Gmail),然后再发送电子邮件。我还想实现一个进度条来显示上传的状态。
应该有各种各样的例子,但我就是找不到!
您是否知道任何示例、教程、插件、帮助程序,或者您自己做过这些并想分享一些代码示例?
谢谢!
我正在尝试创建一个“上传文件,并将电子邮件作为附件”表单,在该表单中,文件在被选中后开始上传(如 Gmail),然后再发送电子邮件。我还想实现一个进度条来显示上传的状态。
应该有各种各样的例子,但我就是找不到!
您是否知道任何示例、教程、插件、帮助程序,或者您自己做过这些并想分享一些代码示例?
谢谢!
看一下
还有一个将 fancyupload 与 Zend Framework 集成的示例:虽然 fancyupload 是基于 mootools 的,但您可以从所解释的内容中学习。
注意:和fancyupload 一样,uploadify 使用flash。但是,当闪光灯不可用时,它会降级。
正如其他人所建议的,Jquery 有你需要的插件。
一个简单的 iframe 就可以了,进度条需要APC。
这是一个“经过大量测试”的解决方案,例如 cms Drupal使用它(不知道是否使用 jquery,但我确定 iframe 和 APC)。
一些教程:
使用 APC 在 PHP 中创建上传进度条:第 4 页中的 js/Ajax 部分
每个 APC + jQuery 上传 con 进度条(意大利语)
编辑:
我不会发布代码,因为没用;只需按照我发布的教程之一(例如第一个教程),您就会找到所需的所有代码以及对 cose 所做的完整解释(这比代码本身更重要,恕我直言)。
[旧约]
停止这场愚蠢的向下/向上选票战争。我们来这里不是为了赢得愚蠢的名声,而是为了在编程技巧上互相帮助,对吧?
我没有否决所有建议 Flash 解决方案的人,只是安德鲁的回答是不正确的,而不是对 swf '问题'的有用分析。
关键不是我不喜欢 flash,而是 flash 对于其他类型的问题(视频、音乐等)很好(不可或缺),但不是处理文件上传的可靠解决方案,这些事情可以通过 Javascript 轻松完成和 php 本身(使用 APC,如果您不能在服务器上使用 APC,则使用“闪存解决方案”)。
使用 swf 对象,您只需要希望处理它的 'api' 满足您的所有需求,否则.. 他们会给您源 (.fla) 文件吗?你有 adobe flash 的许可证,以及编辑它的知识吗?您是否准备好在每次您喜欢的上传需要更简单的修改时都这样做?你同意我的观点,找到 js 或 php 的帮助比寻找 flash 的帮助最容易?
这就是为什么我不喜欢这类问题的闪存解决方案。
然后,请随时让您对我投反对票,我在这里学习不要获得愚蠢的代表点。
[/OT]
我建议你用 jquery uploadify.com。该示例在网站上。您可以使用此 jquery 插件并将文件存储到数据库中(可能是临时表)。当用户发送电子邮件时,您将获取文件,将其附加并从数据库中删除。
PS:如果您有一些会话问题,请使用:zend framework loss session
你看过http://digitarald.de/project/fancyupload/吗?似乎可以满足您的要求。
SWFUpload看起来很有希望:
甚至还有一个SWFUpload jQuery 插件可以让使用 SWFUpload 变得更加容易,还有一个关于如何使用 SWFUpload jQuery 插件通过进度条进行多文件上传的教程
需要闪存。=/
另外,根据这篇博文:
许多人在将 SWFUpload 与 Zend Framewok 一起使用时遇到的一个问题是,会话在上传过程中经常丢失。
但是作者提供了一个在使用 SWFUpload 和 Zend Framework 时丢失会话的解决方案。这也是使用 SWFUpload 和 Zend Framework 时丢失会话的 Stack Overflow 解决方案。
只是一个非常重要的注意事项 - 当使用 Flash 上传器时,文件 mime 类型不会传递给服务器,所有文件都将是 application/octet-stream - 这意味着您需要利用其他方法来找到真正的类型......也许exe文件已上传!