fileupload JSF +表单不起作用

时间:2014-01-02 22:08:27

标签: forms jsf file-upload glassfish

我有一个包含字段和上传文件的表单。它告诉我这个错误: javax.faces.FacesException:javax.servlet.ServletException:请求内容类型不是multipart / form-data。 我测试了fileupload没有字段,它的工作原理。 请帮我。 ajoutcours.xml    

                        <p:growl id="messages" showDetail="true"/>  

                        <p:panelGrid columns="2" style="margin-bottom:10px" >
                            <f:facet name="header">  
                                Ajout Cours 
                            </f:facet>


                            <h:outputText value="Intitulé"/>
                            <p:inputText id="nom3" value="#{coursController.cours.intitule}" required="true" requiredMessage="Le champ intitulé est obligatoire"/>

                            <h:outputText value="Description"/>
                            <p:inputText id="prenom3" value="#{coursController.cours.description}" required="true" requiredMessage="Le champ description est obligatoire"/>


                            <h:outputText value="Upload"/>



                            <h:inputFile value="#{demoBean.file1}" /><br/>







                            <h:outputText value="Compte"/>
                            <h:selectOneMenu id="comptecombo" value="#{coursController.cours.compte.compteId}"> 
                                <f:selectItems value="#{compteController.listCompte}" var="s" itemValue="#{s.compteId}" itemLabel="#{s.nom}"  />
                            </h:selectOneMenu>

                            <h:outputText value="Type"/>
                            <h:selectOneMenu id="typecombo" value="#{coursController.cours.type.typeId}"> 
                                <f:selectItems value="#{typeController.listType}" var="s" itemValue="#{s.typeId}" itemLabel="#{s.nom}"  />
                            </h:selectOneMenu>

                            <h:outputText value="Catégorie"/>
                            <h:selectOneMenu id="catcombo" value="#{coursController.cours.categorie.categorieId}" >
                                <f:selectItems value="#{categorieController.listCategorie}" var="s" itemValue="#{s.categorieId}" itemLabel="#{s.nom}" />

                            </h:selectOneMenu>

                            <p:commandButton value="enregistrer" id="eng1"  actionListener="#{coursController.ajouter(actionEvent)}" action="#{demoBean.upload()}"/>


                        </p:panelGrid> 

                    </h:form>

DemoBean.java:

public String upload() throws IOException {

        InputStream inputStream = file1.getInputStream();          
        FileOutputStream outputStream = new FileOutputStream("D:\\tmp\\"+getFilename(file1));  

        byte[] buffer = new byte[4096];          
        int bytesRead = 0;  
        while(true) {                          
            bytesRead = inputStream.read(buffer);  
            if(bytesRead > 0) {  
                outputStream.write(buffer, 0, bytesRead);  
            }else {  
                break;  
            }                         
        }  
        outputStream.close();  
        inputStream.close();  

        return "test";
    }

0 个答案:

没有答案