我正在处理primefaces应用程序。我需要裁剪个人资料图片。一旦用户想要部分图像并且当用户提交它时,它就会获得空指针异常。 getBytes()
为空。
这是我的代码Xhtml代码:``
<p:dialog id="cropDlg" appendToBody="false" widgetVar="dlg"
showEffect="fade" hideEffect="explode" resizable="false"
modal="true" header="Edit Picture"
style="background-color:#FFFFFF">
<h:form id="cropForm" enctype="multipart/form-data">
<p:panel style="background-color: #FFFFFF" id="cropPanel">
<p:messages />
<div>
<p:imageCropper value="#{profileBean.image}" image="/profile?id=#{profileBean.profile.imageFileName}" />
<h:commandButton value="crop" immediate="true" styleClass="profilebut" action="#{profileBean.handleCropFileUpload}" />
</div>
</p:panel>
</h:form>
</p:dialog>
我的豆子:
CroppedImage croppedImage;
public void handleCropFileUpload() {
System.out.println("GET Bytes" + croppedImage.getBytes());
FileImageOutputStream imageOutput;
try {
imageOutput = new FileImageOutputStream(file);
imageOutput.write(croppedImage.getBytes(), 0,
croppedImage.getBytes().length);
imageOutput.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public CroppedImage getImage() {
return image;
}
public void setImage(CroppedImage image) {
this.image = image;
}
答案 0 :(得分:0)
从您immediate="true"
中移除属性h:commandButton
,它将起作用。