Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 如何在primefaces中上传文件时传递参数_Hibernate_File Upload_Jsf 2_Primefaces - Fatal编程技术网

Hibernate 如何在primefaces中上传文件时传递参数

Hibernate 如何在primefaces中上传文件时传递参数,hibernate,file-upload,jsf-2,primefaces,Hibernate,File Upload,Jsf 2,Primefaces,我将jsf2.0与primfaces一起使用,并使用p:fileupload上传照片。这里我需要在backingbean中传递参数。因为没有通过p:fileupload传递参数的选项。。我还使用了绑定选项,但它在支持bean上返回空值 这是我的fileupload.xhtml <h:form enctype="multipart/form-data"> <p:panel header="Upload Photos" id="getImageId

我将jsf2.0与primfaces一起使用,并使用p:fileupload上传照片。这里我需要在backingbean中传递参数。因为没有通过p:fileupload传递参数的选项。。我还使用了绑定选项,但它在支持bean上返回空值

这是我的fileupload.xhtml

   <h:form  enctype="multipart/form-data">
            <p:panel  header="Upload Photos" id="getImageId" 
             style="font-size:12px;height:499px">
            <p:messages id="messages" for="imaload"></p:messages>
                 <p:fileUpload id="imaload" fileUploadListener="#  
       {ngoPhotoUpload.photoUpload}"  
                           mode="advanced"  multiple="true"   
     immediate="true"
                          update="messages" 
                           allowTypes="/(\.|\/)(gif|jpe?g|png)$/"/>

                 <!--  <p:growl life="1000" id="messages"/>   -->

            </p:panel>
        </h:form>

这是我的backingbean方法

public void photoUpload(FileUploadEvent event) throws IOException,
        InterruptedException {

    BufferedImage bufferedImage;
    String tmpFile = scontext.getRealPath(("/ngoPhotos/")
            + event.getFile().getFileName());
    File result = new File(tmpFile);

    byte[] imageByte = event.getFile().getContents();

    storeImage(imageByte, tmpFile);

    String imageName = event.getFile().getFileName();
    String createdby = loginBean.getEmail();

    if (loginBean.getType().equals("admin")
            || loginBean.getType().equals("ngo_coordinator")) {
        if (ngoRegnPojo.getNgo_id() != 0) {
            ngoPhotoBean.setNgo_id(ngoRegnPojo.getNgo_id());
        } else {
            ngoPhotoBean.setNgo_id(loginBean.getUser_id());
        }
    } else {
        ngoPhotoBean.setNgo_id(loginBean.getUser_id());
    }

    ngoPhotoBean.setImageName(imageName);
    ngoPhotoBean.status = "status";
    ngoPhotoBean.setCreatedDate(new Date());
    ngoPhotoBean.setCreatedby(createdby);
    //ngoPhotoBean.setPathName(tmpFile);
    ngoPhotoBean.disable = "false";
    bufferedImage = ImageIO.read(result);
    if (bufferedImage.getWidth() <= 400 && bufferedImage.getHeight() <= 400) {

        ngoPhotoBean.disable = "false";
        getMthd(imageByte, tmpFile);

    } else {

        try {

            ngoPhotoBean.disable = "false";
            bufferedImage = ImageIO.read(result);
            ImageIO.write(resize(bufferedImage, 400, 400), "jpg", new File(
                    tmpFile));
            photoUploadDaoService.uploadNgoPhoto(ngoPhotoBean);
            NgoPhotoBean ngoPhotoBean = new NgoPhotoBean();
            FacesContext.getCurrentInstance().getExternalContext()
                    .getSessionMap().put("ngoPhotoBean", ngoPhotoBean);
            FacesMessage msg = new FacesMessage("Successfully Uploaded");

            FacesContext.getCurrentInstance().addMessage(null, msg);

        } catch (Exception e) {
            e.printStackTrace();
            FacesMessage error = new FacesMessage(
                    FacesMessage.SEVERITY_ERROR,
                    "The files were not uploaded!", "");
            FacesContext.getCurrentInstance().addMessage(null, error);
        }
    }
}
public void photoUpload(FileUploadEvent事件)引发IOException,
中断异常{
BuffereImage BuffereImage;
字符串tmpFile=scontext.getRealPath((“/ngoPhotos/”)
+event.getFile().getFileName());
文件结果=新文件(tmpFile);
byte[]imageByte=event.getFile().getContents();
storeImage(imageByte,tmpFile);
字符串imageName=event.getFile().getFileName();
字符串createdby=loginBean.getEmail();
if(loginBean.getType().equals(“admin”)
||loginBean.getType().equals(“ngo_协调员”)){
if(ngoRegnPojo.getNgo_id()!=0){
ngoPhotoBean.setNgo_id(ngoRegnPojo.getNgo_id());
}否则{
ngoPhotoBean.setNgo_id(loginBean.getUser_id());
}
}否则{
ngoPhotoBean.setNgo_id(loginBean.getUser_id());
}
ngoPhotoBean.setImageName(imageName);
ngoPhotoBean.status=“status”;
ngoPhotoBean.setCreatedDate(新日期());
ngoPhotoBean.setCreatedby(createdby);
//设置路径名(tmpFile);
ngoPhotoBean.disable=“false”;
BuffereImage=ImageIO.read(结果);

if(buffereImage.getWidth()您需要传递什么类型的参数?如果它只是某种常量,您可以在表单中输入a,以便在提交后可以接收它的值。

您可以使用p:remotecommand,例如,对于文件上传的oncomplete,您可以调用p:remote命令并调用传递参数的函数。我做了一些类似的事情r在我的项目中,它工作得很好。

表单元素中没有commandbutton或commandlink。因此,如何使用隐藏字段。我在表单中使用了p:inputtext。但它返回空值。。