title: Encode image from URL in Base64 in Java
body: <p>I want to encode and save from an URL images in Base64.
  I found several example doing the encoding from a local file but not from an URL.
  Is there a possibility to do that?</p>
  
  <p>I tried something like that, but unsuccessfully. Any clue,help?
  Thanks for your answer.</p>
  
  <pre><code>    public static void main(String[] args)  {
      String imageUrl = "http://www.avajava.com/images/avajavalogo.jpg";
      String destinationFile = "image.jpg";
  
      try {           
          // Reading a Image file from file system
          URL url = new URL(imageUrl);
          InputStream is = url.openStream();
  
          FileInputStream imageInFile = new FileInputStream(is.toString());
          byte imageData[] = new byte[2048];
          imageInFile.read(imageData);
  
          // Converting Image byte array into Base64 String
          String imageDataString = encodeImage(imageData);
          System.out.println("imageDataString : " + imageDataString);
  
  
  
  
          System.out.println("Image Successfully Manipulated!");
      } catch (FileNotFoundException e) {
          System.out.println("Image not found" + e);
      } catch (IOException ioe) {
          System.out.println("Exception while reading the Image " + ioe);
      }
  
  }
  
  /**
   * Encodes the byte array into base64 string
   *
   * @param imageByteArray - byte array
   * @return String a {@link java.lang.String}
   */
  public static String encodeImage(byte[] imageByteArray) {
      return Base64.encodeBase64URLSafeString(imageByteArray);
  }
  </code></pre>