Zend_File_Transfer和Zend_ProgressBar

时间:2010-10-16 15:40:30

标签: javascript ajax zend-framework file-upload

为了监控大型视频文件的上传,我正在使用进度条,如框架附带的the demo所示。上传工作正常,进度正确显示。

但是,由于表单的目标是隐藏的iframe,因此服务器对初始发布请求的响应会发送到该隐藏的iframe。

所以这是我的问题:

  1. 为什么我首先需要定位iframe?
  2. 如何在原始页面上显示错误消息(无效的帖子请求)或重定向(有效的帖子请求),而不是(隐藏的)iframe?
  3. 我知道文件上传有各种第三方解决方案(uploadify,SWFUpload等),但我想尝试一下zend框架方法。

    非常感谢帮助!

    这么久,
    blaxx

1 个答案:

答案 0 :(得分:1)

上传是页面请求。作为任何新的页面请求,上传以停止在当前页面中运行的任何活动的javascript。由于您希望保持javascript运行,您将上传页面请求委托给iframe - 然后不会停止您主页中的javascript。因此,如果您没有定位iframe - 上传请求将首先停止在您的网页中运行的所有javascript,然后进行上传。
实际上,表单助手只是将新页面请求隐藏在iframe中。

为了能够显示自定义响应和内容,您可以修改evalProgress -function或订阅iframe的onload事件(来自javascript pov,iframe与html / body标签几乎相同)。例如,您可以订阅onload事件,然后通过javascript读取iframes内容并对其进行评估(对外部服务器的ajax请求也是如此。)