Convertir des fichiers PDF en Base64 et de stocker des données BLOB de la Base de données

Je veux données binaires (par exemple, un fichier PDF) dans une GOUTTE de ma base de données Oracle.
Au début, j'ai mis le fichier PDF en un FileInputStream et créé un tableau d'octets.Voici le code pour que:

public static byte[] createByteArray(File pCurrentFolder, String pNameOfBinaryFile)
    {

        String pathToBinaryData = pCurrentFolder.getAbsolutePath()+"/"+pNameOfBinaryFile;

        File file = new File(pathToBinaryData);
        if (!file.exists())
        {
            System.out.println(pNameOfBinaryFile+" could not be found in folder "+pCurrentFolder.getName());
            return null;
        }

        FileInputStream fin = null;
        try {
            fin = new FileInputStream(file);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

        byte fileContent[] = new byte[(int) file.length()];

        try {
            fin.read(fileContent);
        } catch (IOException e) {
            e.printStackTrace();
        }

        return fileContent;
    }

J'ai envoyé ce (le tableau d'octets) par l'intermédiaire de MyBatis à la base de données et il a travaillé, de sorte que j'ai eu le PDF dans mon BLOB et j'ai aussi pu lire le fichier PDF à partir de ma base de données.
Mais maintenant, je suis face au problème suivant:
J'ai un Connecteur JDBC pour mon moteur de recherche (ESP RAPIDE...mais que dowsnt importe) qui se connecte à une certaine base de données et stocke le contenu d'un fichier xml. À l'intérieur de ce fichier xml est un élément appelé "data" qui contient les données binaires à l'intérieur de son CDATA Champ.

Quand je veux analyser ce xml, Java me dit:

The content of elements must consist of well-formed character data or markup.

Avec certains PDF je travaille, mais avec quelques pas. Je pense donc que le problème, c'est que je l'ai stocké dans la base de données dans le mauvais sens.

Pour plus d'informations, je révérence à un autre questions que j'ai posées avant qui est semblable.

Java: sauter des données binaires dans le fichier xml lors de l'analyse

Quelqu'un il m'a dit que je doit coder mon PDF (ou un fichier binaire) avec base64. Donc, cela voudrait dire, je ne viens de mettre mon fichier PDF en un FileInputStream, stocker le byte[] et de mettre ce byte[] à mon BLOB de la base de données.
Que dois-je faire, pour stocker le fichier PDF dans le bon chemin à l'intérieur de ma base de données, de sorte que par la suite je peux analyser correctement mon fichier XML le connecteur JDBC crée?

OriginalL'auteur Metalhead89 | 2012-07-31