ピクチャパスに基づいてピクチャを取得し、ビットbase 64フォーマット文字列を変換する

1364 ワード

使用時に直接メソッドを呼び出せば、ピクチャパスに基づいてピクチャを取得し、ビットbase 64フォーマット文字列を変換できます.
public static String ImageToBase64ByOnline(String imgURL) {
        ByteArrayOutputStream data = new ByteArrayOutputStream();
        try {
            //   URL
            URL url = new URL(imgURL);
            byte[] by = new byte[1024];
            //     
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            conn.setConnectTimeout(5000);
            InputStream is = conn.getInputStream();
            //         
            int len = -1;
            while ((len = is.read(by)) != -1) {
                data.write(by, 0, len);
            }
            //    
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        //      Base64  
        BASE64Encoder encoder = new BASE64Encoder();
        return encoder.encode(data.toByteArray());
    }

文字列を処理してサーバーに保存するなんて
String str = ImageToBase64ByOnline(url);
//        
str = str.substring(str.indexOf(',') + 1);
//base64          
BASE64Decoder decoder =new BASE64Decoder();
byte[] imageByte = new byte[0];
 try {
     imageByte=decoder.decodeBuffer(str);
 }catch (IOException e) {
     e.printStackTrace();
     return;
 }
 //   imageByte