Voila je développe une application MFC avec une base Postgres et je voudrais sauvegarder l'image sur la base.
Qulqun à une idée?
le champs dans la base est des type bytea
Merci
Version imprimable
Voila je développe une application MFC avec une base Postgres et je voudrais sauvegarder l'image sur la base.
Qulqun à une idée?
le champs dans la base est des type bytea
Merci
Quel genre d'image ?
Un siimple fichier, ou une image en mémoire?
Car un simple fichier, c'est assez simple : Tu sauvegardes directement son contenu binaire dans un tableau de bytes (byte array), peut-être précédé du nom de fichier si tu en as besoin...
Un jpeg par exemple.
Je veux le stocker dans un bytea
en java il font sa :
mais en c++ je ne trouve pas ? :)Code:
1
2
3
4
5
6
7
8 File file = new File("monimage.gif"); FileInputStream fis = new FileInputStream(file); PreparedStatement ps = conn.prepareStatement("INSERT INTO images VALUES (?, ?)"); ps.setString(1, file.getName()); ps.setBinaryStream(2, fis, file.length()); ps.executeUpdate(); ps.close(); fis.close();
une idée merci.
Qu'est-ce que tu n'arrives pas à faire?
- Charger l'image dans un tableau de bytes
- Envoyer le tableau de bytes à postgres
- Les deux.
Sachant que je ne peux pas t'aider pour le 2, ne connaissant pas postgres.
Je pense que j'arrive à charger l'image dans un tableau de byte avec std::ifstream
Mais après quand j'écris le "insert into" avec une colonne de type "tableau de byte" comment sa se passe.? (pour n'importe quelle base)
(et si ta un code ou un lien plus intéreessant pour charger l'image dans un bytes[] passe le moi peux être que c'est mieux)
merci. :)) :bug:
Je pense que comme pour Java, il faut utiliser une requête paramétrée.