如何通过文件上传primefaces传递输入文本值

时间:2021-03-16 12:28:50

标签: file-upload primefaces

我想在我的文件上传组件中添加一个描述框(输入文本)。我已经尝试了一些代码示例,但我没有弄清楚。

<h:form id="dlgformAddDoc" enctype="multipart/form-data">
    <p:dialog id="dialogAddDoc" header="Add Documents" widgetVar="dlgAddDoc" resizable="true" draggable="true"
                 responsive="false" hideEffect="scale" width="900px" blockScroll="true" positionType="absolute" height="auto" >
            
            <p:panelGrid columns="3" layout="grid" styleClass="ui-panelgrid-blank form-group">  
                <p:outputLabel for="pathDescription1" value="Description : "/>
                <p:inputText id="pathDescription1" value="EVMView.pathDescription1"/>
                <p:fileUpload id="upload1" label="Upload File" value="#{EVMView.myfile}" fileUploadListener="#{EVMView.fileUploadEvent1}" 
                        mode="advanced" skinSimple="true" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" fileLimit="1" dragDropSupport="true" sizeLimit="10000000" update="growl" 
                        multiple="false" process="@form"/>

            </p:panelGrid>
           
           
            <f:facet id = "footer" name="footer">
            <h:panelGroup id="footerPanel">
                        <p:commandButton id="close" value="Close" resetValues="true"  oncomplete="PF('dlgAddDoc').hide();"/>
            </h:panelGroup>
        </f:facet>
    </p:dialog>

还有我的支持豆

public void fileUploadEvent1(FileUploadEvent event) {
            
            String myFileName = null;
        
            this.file = event.getFile();
        
            if(file.getFileName() != null) {
                try {   
                    new File(System.getProperty("jboss.server.data.dir")+ "/corrolog/localEVMSystem").mkdir();
                    new File(System.getProperty("jboss.server.data.dir")+ "/corrolog/localEVMSystem/"+strSO).mkdir();
                    new File(System.getProperty("jboss.server.data.dir")+ "/corrolog/localEVMSystem/"+strSO+"/"+selectedModule).mkdir();
                
                    InputStream inputStream= file.getInputstream(); 
                    
                    File imagesDir = new File(System.getProperty("jboss.server.data.dir"), "corrolog/localEVMSystem/" +  strSO + "/" + selectedModule+ "/"+ file.getFileName());
                    
                    String path=System.getProperty("jboss.server.data.dir")+ "corrolog/localEVMSystem/" +  strSO + "/" + selectedModule+ "/"+ file.getFileName();
                    
                    System.out.println(System.getProperty("jboss.server.data.dir")+ "/corrolog/localEVMSystem/" +  strSO + "/" + selectedModule+ "/"+ file.getFileName());
                    SaveImage(inputStream,imagesDir);
                        
                    SaveAttachments(path,this.pathDescription1);
                        System.out.println(pathDescription1);
                        FacesContext context = FacesContext.getCurrentInstance();
                        context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Info", "File Loaded"));
                    }

                catch(IOException e) {
                    e.printStackTrace();
                    FacesMessage message = new FacesMessage("There was a problem, your file was not uploaded.", e.getMessage());
                    FacesContext.getCurrentInstance().addMessage(null, message);
                }
            }

    }

当我运行此代码时,我在 pathDescription1 上得到 null

System.out.println(pathDescription1);

我想在这个链接中找到类似的东西,但问题太老了,问题中的一些链接也不可用。

Multiple file upload with extra inputText

0 个答案:

没有答案