java oracle blob 存圖片(經過base64)

Action
//新增人員
        public void add() throws Exception{
                BASE64Decoder decoder = new BASE64Decoder();  
               String imagpath= "D:\\test.jpg";
                    //Base64解碼  
                    byte[] b = decoder.decodeBuffer(GetImageStr(imagpath));  
                    for(int i=0;i<b.length;++i)  
                    {  
                        if(b[i]<0)  
                        {//調整異常數據  
                            b[i]+=256;  
                        }  
                    }  
                    //生成jpeg圖片  
               String id = "410311199204204001";
               FFFFFManager.add(b,id);
System.out.print("ok");
        }
        
可寫成公共方法(單例模式)
         //圖片轉化成base64字符串  
        public String GetImageStr(String filePath)  
        {//將圖片文件轉化爲字節數組字符串,並對其進行Base64編碼處理  
            String imgFile = filePath;//待處理的圖片  
            InputStream in = null;  
            byte[] data = null;  
            //讀取圖片字節數組  
            try   
            {  
                in = new FileInputStream(imgFile);          
                data = new byte[in.available()];  
                in.read(data);  
                in.close();  
            }   
            catch (IOException e)   
            {  
                e.printStackTrace();  
            }  
            //對字節數組Base64編碼  
            BASE64Encoder encoder = new BASE64Encoder();  
            return encoder.encode(data);//返回Base64編碼過的字節數組字符串  
        }  
DAOimpl
public void add(byte[] bz,String id) {
        Session session = this.getHibernateTemplate().getSessionFactory().openSession(); 
        Transaction t = session.beginTransaction();
        FFFFF fffff = new FFFFF();
        fffff.setGrbh(id);
        fffff.setZp(bz);
        session.save(fffff);
        t.commit();
        session.close();
    }

這樣就能夠經過上一篇博文取到base64顯示在前臺了
java

相關文章
相關標籤/搜索