为了监控大型视频文件的上传,我正在使用进度条,如框架附带的the demo所示。上传工作正常,进度正确显示。
但是,由于表单的目标是隐藏的iframe,因此服务器对初始发布请求的响应会发送到该隐藏的iframe。
所以这是我的问题:
我知道文件上传有各种第三方解决方案(uploadify,SWFUpload等),但我想尝试一下zend框架方法。
非常感谢帮助!
这么久,
blaxx
答案 0 :(得分:1)
上传是页面请求。作为任何新的页面请求,上传以停止在当前页面中运行的任何活动的javascript。由于您希望保持javascript运行,您将上传页面请求委托给iframe - 然后不会停止您主页中的javascript。因此,如果您没有定位iframe - 上传请求将首先停止在您的网页中运行的所有javascript,然后进行上传。
实际上,表单助手只是将新页面请求隐藏在iframe中。
为了能够显示自定义响应和内容,您可以修改evalProgress -function或订阅iframe的onload事件(来自javascript pov,iframe与html / body标签几乎相同)。例如,您可以订阅onload事件,然后通过javascript读取iframes内容并对其进行评估(对外部服务器的ajax请求也是如此。)