oracle.sql.BLOB cannot be cast to oracle.sql.BLOB
問題發現點
在進行BLOB數據類型轉化成BASE64類型時出現了此問題;
原因
接收到的這個數據實例是個包裹着java.sql.Blob外殼的Proxy類型的實例。因此,當我們想操作這個Blob數據時就需要針對這個被包裝的Blob進行去殼
解決問題的代碼
SerializableBlobProxy proxy = (SerializableBlobProxy )Proxy.getInvocationHandler(blob);
java.sql.Blob realBlob = proxy.getWrappedBlob();