1,若業務上保持base64文件流操作,只做插入數據庫流類型轉換:
將Base64轉為Bype類型 (byte碼轉Base64碼預計節省空間30%)
可以寫在工具類里方法(jdk8):
byte[] byteArray = DatatypeConverter.parseBase64Binary(base64Str);
當要獲取Base64做操作時:將byte轉為Base64
String base64Str = DatatypeConverter.printBase64Binary(byteArray);
數據庫需要做修改:特別注意:不可直接修改數據庫該字段類型(BLOB->CLOB),因為:oracle不允某些類型的字段修改。具體就是不可以將字段類型修改為:object、REF、nested table、VARRAY、 CLOB、BLOB
具體方法如下:例如:將目標字段 DEMO
1、將字段DEMO改名為其他名DEMO_OTHNER
2、新建一個字段DEMO,類型設置為BLOG
3、刪除之前修改過的DEMO_OTHNER字段
主要是根據BASE64Encoder 和BASE64Decoder 進行操作實現,具體例子如下:
BASE64Encoder encode = new BASE64Encoder();
//將byte[]轉換為base64
String base64 = encode.encode(bytes);
//新建一個BASE64Decoder
BASE64Decoder decode = new BASE64Decoder();
//將base64轉換為byte[]
byte[] b = decode.decodeBuffer(base64);