使用PrimeFaces.monitorDownload不会触发JS函数

 也曾悲摧过_192 发布于 2023-02-09 13:46

我正在使用Primefaces 4.0进行文件下载.我只想在下载完成时触发JS功能,但似乎无法工作(在Firefox和谷歌浏览器中尝试过).我的测试用例看起来类似于PF文档中的操作:





    
    
        
            
        
    


@ManagedBean
@ViewScoped
public class Bean implements Serializable {

    public StreamedContent getFile() {
        return new DefaultStreamedContent(new ByteArrayInputStream(new byte[0]));
    }

}

下载开始时会触发警报,但下载完成时则不会触发警报.还有其他人可以尝试一下吗?

1 个回答
  • 这是一个错误.

    主要错误是在FileDownloadActionListenerorg.primefaces.component.filedownload包.

    第65行

    externalContext.addResponseCookie(Constants.DOWNLOAD_COOKIE, "true", Collections.<String, Object>emptyMap());
    

    Constants.DOWNLOAD_COOKIE是"primefaces.download",它永远不会与响应一起发送.

    这将导致PrimeFaces.monitorDownloadInterval永远不会调用stop函数,因为cookie永远不会被写入.

    2023-02-09 13:48 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有