1. 程式人生 > >jsf form使用的注意點byte和Image的轉化

jsf form使用的注意點byte和Image的轉化

兩個h:form巢狀在IE下是錯誤,

InputStream buffin = new ByteArrayInputStream(/*二進位制串*/,
                                              /*起始位置*/,
                                              /*二進位制串長度*/));

BufferedImage img = ImageIO.read(buffin);
這樣,我們就得到了一個可以輸出的BufferedImage了,是不是非常簡單呢~
接下來,我們再來寫一段程式碼,寫法,也很簡單
首先,我們要準備好一個可以輸出的Image物件,
然後,這樣


ByteArrayOutputStream bos = new ByteArrayOutputStream();
ImageIO.write((RenderedImage)/*要輸出的圖片*/,/* 圖片的格式*/,bos);(要用try和chatch


然後用bos.toByteArray();(ByteArrayOutputStream.toByteArray)就可以得到想要byte[]了~
是不是非常簡單呢~~
,我這麼做只是想把上傳過來
的圖片修改一下,生成一張規定大小的新圖片然後一起存入資料庫
好不容易用Toolkit類生成了一個什麼什麼圖片,是說是java.awt.image.TookitImage物件


摘自

http://blog.csdn.net/comcow/archive/2008/10/08/3031252.aspx

再加一句
Image img=Toolkit.getDefaultToolkit().createImage(buf, 0,buf.length);

InputStream轉換byte[]  
  public   byte[]   toBArray(   InputStream   is   )  
  {  
          ByteArrayOutputStream   outp   =   new   ByteArrayOutputStream();  
          int   ch   =   0;  
          while(   (ch=is.read())!=-1   )  
                outp.write(ch);  
          byte[]   b   =   outp.toByteArray();  
          return   b;  
}