1. 程式人生 > >將圖片檔案以二進位制方式儲存和恢復

將圖片檔案以二進位制方式儲存和恢復

/**
 * 將圖片轉換成二進位制
 *
 * @return
 */
static String getImageBinary() {
     BASE64Encoder encoder = new sun.misc.BASE64Encoder();
    //本地圖片
    File f = new File("D:/voice/picture/企業微信截圖_15302624613767.png");
    BufferedImage bi;
    try {
        bi = ImageIO.read(f);
        ByteArrayOutputStream baos = new 
ByteArrayOutputStream(); //圖片格式 ImageIO.write(bi, "png", baos); byte[] bytes = baos.toByteArray(); return encoder.encodeBuffer(bytes).trim(); } catch (IOException e) { e.printStackTrace(); } return null; } /** * 將二進位制轉換為圖片 * * @param base64String
*/ static void base64StringToImage(String base64String) { BASE64Decoder decoder = new sun.misc.BASE64Decoder(); try { byte[] bytes1 = decoder.decodeBuffer(base64String); ByteArrayInputStream bais = new ByteArrayInputStream(bytes1); BufferedImage bi1 = ImageIO.read(bais)
; //圖片儲存本地路徑及名稱 File w2 = new File("D:/voice/2.png"); if(!w2.exists()){ w2.createNewFile(); } ImageIO.write(bi1, "jpg", w2); } catch (IOException e) { e.printStackTrace(); } } //呼叫方法測試
@GetMapping
public String test(){
    base64StringToImage(getImageBinary());
    return "test01";}