//獲取網絡文件轉 base64 public String fileToBase64(String urlStr) { int byteread = 0; String total = null; byte[] totalbyte = new byte[0]; InputStream inStream = null; try { inStream = getStream(urlStr); byte[] buffer = new byte[1024]; while ((byteread = inStream.read(buffer)) != -1) { //拼接流,這樣寫是保證文件不會被篡改 totalbyte = byteMerger(totalbyte, buffer, byteread); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (null != inStream) inStream.close(); } catch (IOException e) { e.printStackTrace(); } } return Base64.encodeBase64String(totalbyte); } //合並數組 private byte[] byteMerger(byte[] totalArr, byte[] mergerArr, int mergerLen) { if (null == totalArr || null == mergerArr) return totalArr; if (mergerLen == 0 || mergerLen > mergerArr.length) { throw new RuntimeException("mergerLen : " + mergerArr + " ,mergerArrLen : " + mergerArr.length); } int len = totalArr.length; byte[] reArr = new byte[len + mergerLen]; System.arraycopy(totalArr, 0, reArr, 0, len); System.arraycopy(mergerArr, 0, reArr, len, mergerLen); return reArr; } //根據 url 獲取輸入流 private final InputStream getStream(String urlStr) throws IOException { URL url = new URL(urlStr); HttpURLConnection httpUrl = (HttpURLConnection) url.openConnection(); httpUrl.connect(); httpUrl.getInputStream(); InputStream in = httpUrl.getInputStream(); return in; }