2016-05-05 15 views
1

Ich versuche, eine Bilddatei von URL in Base64 String mit Apache.Commons.codec JAR-Datei zu konvertieren.Bild in Base64 konvertieren String in Java

Java-Code ..

import java.io.BufferedInputStream; 
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.IOException; 
import java.io.InputStream; 
import java.net.URL; 
import org.apache.commons.codec.binary.Base64; 

public class HelloWorld { 

public static void main(String args[]) { 

    String imageUrl = "http://www.avajava.com/images/avajavalogo.jpg"; 
     String destinationFile = "image_1.jpg"; 

     try {   
      // Reading a Image file from file system 
      URL url = new URL(imageUrl); 
      InputStream is = url.openStream(); 

      BufferedInputStream imageInFile = new BufferedInputStream(url.openConnection().getInputStream()); 
      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); 
     } 

} 

public static String encodeImage(byte[] imageByteArray) { 
    return Base64.encodeBase64URLSafeString(imageByteArray); 
} 

}

Jedes Mal, wenn ich meinen Code ausführen bekomme ich folgende Fehler

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
The method encodeBase64URLSafeString(byte[]) is undefined for the type Base64 

at helloWorld.HelloWorld.encodeImage(HelloWorld.java:51) 
at helloWorld.HelloWorld.main(HelloWorld.java:35) 

Ich verstehe nicht, wo ich falsch gehe auch nach dem Importieren der Base64-Klasse.Bitte helfen ..

Edit 1:

Die IDE auch folgende Fehler für die Methode "encodeImage"

Error

Edit 2 schenkt:

Java Build Pfad des Projekts build_path

+0

Hmm. Welche Version von codec.jar hast du? Diese Methode ist '@since 1.4'. – Thilo

+0

Ich benutze Version 1.10 in diesem Link verfügbar https://commons.apache.org/proper/commons-codec/download_codec.cgi – Lucy

+0

Dann sollten Sie diesen Fehler nicht bekommen haben. Können Sie überprüfen, was sich auf dem Klassenpfad des Compilers befindet? – Thilo

Antwort

0

Nach der documentation dieser metho d wurde in Version 1.4 hinzugefügt.

Überprüfen Sie die Version des Glases, das Sie verwenden.

+1

Es sieht nicht aus wie Lucy es bauen kann. Es heißt "ungelöstes Kompilierungsproblem". Das ist ein Build-Time-Fehler. – Thilo

+0

Lesen Sie es zu schnell. Danke Thilo. Werde Dich auf dem Laufenden halten. – gfelisberto

+0

Okay, um genau zu sein, * ist * ein Laufzeitfehler, wenn Sie auf Stub-Code stoßen, der vom Compiler erstellt wurde, anstatt auf den echten Code, den er nicht kompilieren konnte (was er zur Build-Zeit gemeldet hat). – Thilo