我正在制作一个程序,它从服务器获取有关字节数组中图像的数据.我正在将这些数据转换为24位BMP格式(无论是jpeg,png,bmp还是8-24-32bpp).首先,我将它保存到我的HD,然后我将它加载到JLabel的Icon中.虽然在某些情况下我得到以下异常,但效果很好:
java.io.EOFException at
javax.imageio.stream.ImageInputStreamImpl.readFully(ImageInputStreamImpl.java:353) at
com.sun.imageio.plugins.bmp.BMPImageReader.read24Bit(BMPImageReader.java:1188) at
com.sun.imageio.plugins.bmp.BMPImageReader.read(BMPImageReader.java:843) at
javax.imageio.ImageIO.read(ImageIO.java:1448) at
javax.imageio.ImageIO.read(ImageIO.java:1308)
Run Code Online (Sandbox Code Playgroud)
这条线(第二条)
File imgFile = new File("d:/image.bmp");
BufferedImage image = ImageIO.read(imgFile);
Run Code Online (Sandbox Code Playgroud)
在这些情况下:
首先,我认为也许bpp是问题,然后我认为可能图片太大,但我有案例它的工作和案例它不适用于这两个建议.我有点卡在这里,并且很乐意提出想法.
我正在使用JSF和PrimeFaces,我无法处理以下情况:我有一个对话框,我在其上放置了一个dataTable.在表格的一个单元格中,我想以3种不同的方式显示给定的数据,我想在它们之间切换.到目前为止,我设法通过commandLink在这些渲染类型之间切换,但我的问题是,当我点击其中一个链接时,对话框关闭!我可以更新对话框的内容,并能够同时打开它吗?(我正在通过myMethod更新要使用的渲染类型)
我的commandLink看起来像这样:
<p:commandLink id="id" update=":myForm:myDialog" ajax="false"
action="#{myBean.myMethod}" oncomplete="dialog.show()">
Run Code Online (Sandbox Code Playgroud)
如果我不使用ajax = false属性,则不调用该方法,我也尝试了imediate = true,但这也不是.