Jsf Primefaces文件上载:处理防火墙错误阻止上载

Jsf Primefaces文件上载:处理防火墙错误阻止上载,jsf,primefaces,Jsf,Primefaces,我们有一个JSF应用程序,目前正在使用Primefaces 7.0运行。该应用程序允许用户使用Primefaces FileUpload组件上载文件,然后我们处理和处理该组件 防火墙团队正在强制防火墙坐在上传过程的前面,如果它认为文件不合适,就会阻止上传请求访问应用程序,并向浏览器返回503错误。我正在努力解决如何在JSF应用程序中处理503错误,因为请求从未到达服务器,而且我找不到可以添加到FileUpload组件中侦听503错误的合适属性(尝试使用onerror,如下面的代码所示,但不幸的是

我们有一个JSF应用程序,目前正在使用Primefaces 7.0运行。该应用程序允许用户使用Primefaces FileUpload组件上载文件,然后我们处理和处理该组件

防火墙团队正在强制防火墙坐在上传过程的前面,如果它认为文件不合适,就会阻止上传请求访问应用程序,并向浏览器返回503错误。我正在努力解决如何在JSF应用程序中处理503错误,因为请求从未到达服务器,而且我找不到可以添加到FileUpload组件中侦听503错误的合适属性(尝试使用onerror,如下面的代码所示,但不幸的是,当发生503错误时,不会调用它)。如果不处理此错误,则不会向用户显示任何提示。理想情况下,我们会向用户显示咆哮消息,要求他们尝试不同的文件类型

下面是FileUpload组件当前的代码,但是我不确定它是否有用,因为我更多的是寻求建议,而不是代码修复

有人知道如何处理503吗

谢谢

            <p:fileUpload widgetVar="upload" id="upload"
                disabled="#{user.filesRemaining eq 0}" label="SELECT FILES"
                fileUploadListener="#{controller.handleFileUpload}"
                styleclass="smallCommandButton" mode="advanced"
                dragDropSupport="true" auto="true"
                allowTypes="/(\.|\/)(jpeg|jpe|jpg|png|pdf)$/i" sizeLimit="10485760"
                invalidSizeMessage="Image files must be under 10MB in size"
                invalidFileMessage="Only JPG, PNG or PDF files can be uploaded"
                onerror="#{controller.handleUploadError()}"
                onstart="PF('uiBlocker').show()"
                oncomplete="PF('uiBlocker').hide()">
            </p:fileUpload>

找到了一个解决方案,我需要将以下代码添加到我的fileUpload组件中,“arguments”包含错误信息:

onerror="handleUploadError(arguments)"
然后创建相应的javascript函数来处理错误,例如

    function handleUploadError(arguments) {
        if(arguments[0].status === 503) {
            **create message for user here**
        } 
    }

如果你面前的防火墙用503拒绝了你的请求,我认为你什么也做不了。它永远不会到达你的服务器,所以你没有什么要处理的,对吗?同意,这就是我的思路。我希望有一个解决方案,我想不出是什么工作!谢谢你发回。