1. 程式人生 > >獲取圖片 base64編碼

獲取圖片 base64編碼

// 獲取圖片並編碼
            byte[] data = null;
            try {
                // 建立URL
                URL url = new URL(img);//img是圖片的地址
                // 建立連結
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setRequestMethod("GET");
                conn.setConnectTimeout(60
* 1000); InputStream inStream = conn.getInputStream(); /////////////////////////////////////////////////////////// /*int count = 0; while (count == 0) { count = inStream.available();//注意這段註釋掉的available方法,這個方法不能保證能全部讀取圖片的資料資訊,所以得到的圖片是部分的。此方法不可用 } data = new byte[count]; inStream.read(data);*/
/////////////////////////////////////////////////////////// ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] b = new byte[1024]; int len = 0; // 將內容讀到b中,讀到末尾為-1 while ((len = inStream.read(b)) != -1) { // 本例子將每次讀到位元組陣列(buffer變數)內容寫到記憶體緩衝區中,起到儲存每次內容的作用
outStream.write(b, 0, len); } data = outStream.toByteArray(); // 取記憶體中儲存的資料 inStream.close(); } catch (IOException e) { e.printStackTrace(); } BASE64Encoder encoder = new BASE64Encoder(); // 返回Base64編碼過的位元組陣列字串 String imgbase64 = encoder.encode(data);