Primefaces p:fileUpload无效

时间:2014-03-26 06:37:51

标签: file-upload jsf-2 primefaces

我使用Primefaces4.0和JSF2.0,我知道一些Primefaces的基础知识。 对我来说,p:fileUpload无法正常工作,之前有效。不知道发生了什么 当我从文件选择器中选择任何文件时,没有文件填充在p:fileUpload的文件盘中。

这是我的代码:

<p:panel style="font-size:15px;" header="Upload"> 
    <p:fileUpload  fileUploadListener="#{addAgentxls.handleFileUpload}" mode="advanced" dragDropSupport="true"
                   update="messages status" sizeLimit="100000"  style="font-size:12px;" />
    <p:growl id="messages" showDetail="true"/>
    <p:outputLabel id="status" style="font-size:13px;"  value="#{addAgentxls.status }"/>
</p:panel>

类文件:

@ManagedBean(name = "addAgentxls", eager = true)
@SessionScoped
public class AddAgentUsingXLS {
    public AddAgentUsingXLS(){
    }
    public void handleFileUpload(FileUploadEvent event) {
           FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");  
           FacesContext.getCurrentInstance().addMessage(null, msg);
        } 
}

的web.xml:

<!-- File Uploading Constraints -->
<filter>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

我也看到This对我没有任何作用 Google Chrome浏览器出现错误

Uncaught TypeError: Object [object Object] has no method 'fileupload' 
fileupload.js.xhtml?ln=primefaces&v=4.0:1

它有价值吗?

2 个答案:

答案 0 :(得分:1)

解决了..!我使用的新版jQuery.jsPrimefaces

冲突

答案 1 :(得分:0)

请考虑以下堆栈溢出链接的建议。

In JavaScript can I make a "click" event fire programmatically for a file input element?

同样的问题。 jQuery(“。primeFacesHiddenAwayButton type = ['file']”)。click()在IE和firefox上工作正常(由于Selenium驱动程序限制,我的firefox不是最新的)。在任何情况下,在Chrome中JS按钮根本不起作用。这显然是浏览器内置的安全功能。您可以在提供的链接上尝试该建议。