PrimeFaces onAdd 文件上传监听器不调用

PrimeFaces onAdd listener for fileupload not invoking

在根据我的要求实现我自己的逻辑之前,我试图在警告框中显示每个文件。但是它不起作用。

<h:head>

<script type="text/javascript">
    function displayEachFile(file,callback){
        alert(file);
    }
</script>
</h:head>

<h:body>
    <div class="card">
    <h:form name="download">
            <p:fileUpload value="#{fileBean.files}" mode="advanced" multiple="true" auto="true"
            listener="#{fileBean.handleFileUpload}" widgetVar="hello" onAdd="displayEachFile"/>
        </h:form>
    </div>
</h:body>

</html>

文档已更新:https://primefaces.github.io/primefaces/11_0_0/#/components/fileupload

onAdd 有 3 个参数 this, file, callback.

运行 示例: pf-8657.zip

这让您有机会检查 file,如果您决定可以添加,请调用 callback

例如:

onAdd="onAddFile(file, callback);"

例如,您可以只添加名为 primefaces.pdf 的文件。

function onAddFile(file, callback) {
   if (file.name === 'primefaces.pdf') {
       callback.call(this, file);
   }
}