關於大文件轉Base64上傳本地Oracle數據庫文件過大解決方案


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);

 
        

   




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM