Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

enregistrer une image dans une bd ?

2 views
Skip to first unread message

Une Bévue

unread,
Sep 29, 2011, 1:31:45 AM9/29/11
to
J'imagine que pour enregistrer une image dans une bd il faut la
convertir en string par base64 ? ou autre encodage ?

ça peut se faire en js ou php ?



--
« Il vaut mieux taxer les pauvres que les riches car
ils sont beaucoup plus nombreux »
(Margaret Thatcher)

Paul Gaborit

unread,
Sep 29, 2011, 2:07:31 AM9/29/11
to

À (at) Thu, 29 Sep 2011 07:31:45 +0200,
unbewus...@fai.invalid (Une Bévue) écrivait (wrote):

> J'imagine que pour enregistrer une image dans une bd il faut la
> convertir en string par base64 ? ou autre encodage ?

C'est une méthode... mais on peut aussi utiliser un champ de type blob
(binary large object).

> ça peut se faire en js ou php ?

Si vous savez parler à votre sgbd depuis javascript, pourquoi pas. En
PHP, c'est évidemment possible.

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>

Sergio

unread,
Sep 29, 2011, 2:31:39 AM9/29/11
to
Le 29/09/2011 07:31, Une Bévue a écrit :
> J'imagine que pour enregistrer une image dans une bd il faut la
> convertir en string par base64 ? ou autre encodage ?

Directement en blob (comme le suggère Paul Gaborit). Sinon, une méthode classique et de ne mettre dans la BdD qu'un lien vers une
image stockée sur le site.

> ça peut se faire en js ou php ?

js côté serveur (il faut que le programme accède au serveur de la base). Sinon en PHP ou tout autre langage côté serveur (php, asp,
perl, C(++), Snobol+, etc.).

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org

Pascal Poncet

unread,
Sep 29, 2011, 2:35:30 AM9/29/11
to
Le 29/09/2011 07:31, Une Bévue a écrit :
> J'imagine que pour enregistrer une image dans une bd il faut la
> convertir en string par base64 ? ou autre encodage ?

Salut,

Ben euh... ça doit dépendre du sgbd utilisé, non ?
Par ex., avec mysql, tu as un format "blob" qui permet d'enregistrer
directement en binaire, comme son nom l'indique (binary long object).

> ça peut se faire en js ou php ?

En js je vois pas.
En php ça serait inutile dans ce cas, me semble-t-il.

>
>
>


--
Cordialement,
Pascal

Une Bévue

unread,
Sep 29, 2011, 2:41:12 AM9/29/11
to
Paul Gaborit <Paul.G...@invalid.invalid> wrote:

> À (at) Thu, 29 Sep 2011 07:31:45 +0200,
> unbewus...@fai.invalid (Une Bévue) écrivait (wrote):
>
> > J'imagine que pour enregistrer une image dans une bd il faut la
> > convertir en string par base64 ? ou autre encodage ?
>
> C'est une méthode... mais on peut aussi utiliser un champ de type blob
> (binary large object).

Oui, mais c'est pour l'incorporer dans un fragment HTML.
Le but visé : incorporer un fragment de page HTML, avec les images dans
une autre page HTML elle même issue de la lecture d'une bd.
Donc ce fragment HTML -avec les images- sera enregistré dans un text
SQLite.

> > ça peut se faire en js ou php ?
>
> Si vous savez parler à votre sgbd depuis javascript, pourquoi pas.

ça, je ne sais pas faire avec une bd SQLite disons dans un dossier
donné, je sais faire avec SQLite mais géré par le navigateur, pour
l'instant je ne sais pas où cette base est rangée par le navigateur.
D'ailleurs, ce n'est pas supporté (ie. WebSQL) par tous les navigateurs,
et même ça freeze Firefox Nightly...
j'utilise : "window.openDatabase".

> En PHP, c'est évidemment possible.

Oui, là c'est plus facile. Il me faut détecter les images, leur URL, les
passer à la moulinette base64 et changer, suivant le k, href ou src...

Une Bévue

unread,
Sep 29, 2011, 2:51:34 AM9/29/11
to
Pascal Poncet <poncet.pas...@gmail.com.invalid> wrote:

> En php ça serait inutile dans ce cas, me semble-t-il.

avec une base mysql, mais j'utilise sqlite.

Une Bévue

unread,
Sep 29, 2011, 2:51:34 AM9/29/11
to
Sergio <serge....@delbono.net.invalid> wrote:

> Le 29/09/2011 07:31, Une Bévue a écrit :
> > J'imagine que pour enregistrer une image dans une bd il faut la
> > convertir en string par base64 ? ou autre encodage ?
>
> Directement en blob (comme le suggère Paul Gaborit). Sinon, une méthode
> classique et de ne mettre dans la BdD qu'un lien vers une image stockée
> sur le site.

je ne pense pas qu'il y ait du blob sur SQLite.
oui, j'ai pensé stocker l'image sur le site, en lui donnant une
référence calculée.

> > ça peut se faire en js ou php ?
>
> js côté serveur (il faut que le programme accède au serveur de la base).
> Sinon en PHP ou tout autre langage côté serveur (php, asp, perl, C(++),
> Snobol+, etc.).

ok, j'ai php, je vais peut-être réessayer js côté serveur, ça serait pas
mal, mais, si je me souviens bien ce n'est pas du tout évident d'avoir
JS côté serveur avec Apache2, avec un autre serveur si...

je ne connais pas du tout Snobol+, je serais tenté par ruby/eruby, mais
ce n'est pas évident d'installer mod_ruby sur le serveur Apache2 --- par
défaut --- sur Mac OS X, à piocher donc.

Sergio

unread,
Sep 29, 2011, 2:58:30 AM9/29/11
to
Le 29/09/2011 08:51, Une Bévue a écrit :


>>> ça peut se faire en js ou php ?
>>
>> js côté serveur (il faut que le programme accède au serveur de la base).
>> Sinon en PHP ou tout autre langage côté serveur (php, asp, perl, C(++),
>> Snobol+, etc.).
>
> ok, j'ai php, je vais peut-être réessayer js côté serveur, ça serait pas
> mal, mais, si je me souviens bien ce n'est pas du tout évident d'avoir
> JS côté serveur avec Apache2, avec un autre serveur si...
>
> je ne connais pas du tout Snobol+, je serais tenté par ruby/eruby, mais
> ce n'est pas évident d'installer mod_ruby sur le serveur Apache2 --- par
> défaut --- sur Mac OS X, à piocher donc.

Snobol+, c'est une "private joke" :-)
Je ne connais pas trop Mac OS/X, mais c'est basé sur de l'Unix. Tu dois donc facilement pouvoir utiliser des langages simples. PHP
est un bon choix (et s'interface très bien avec Apache). Sinon Python semble pas mal et est facile à apprendre.

Une Bévue

unread,
Sep 29, 2011, 3:29:37 AM9/29/11
to
Sergio <serge....@delbono.net.invalid> wrote:

> Je ne connais pas trop Mac OS/X, mais c'est basé sur de l'Unix. Tu dois
> donc facilement pouvoir utiliser des langages simples. PHP est un bon
> choix (et s'interface très bien avec Apache). Sinon Python semble pas mal
> et est facile à apprendre.

OK je resterai à php pour l'instant...

Paul Gaborit

unread,
Sep 29, 2011, 10:55:20 AM9/29/11
to

À (at) Thu, 29 Sep 2011 08:51:34 +0200,
unbewus...@fai.invalid (Une Bévue) écrivait (wrote):

> je ne pense pas qu'il y ait du blob sur SQLite.

SQLite connait les blobs.

Une Bévue

unread,
Sep 29, 2011, 1:28:40 PM9/29/11
to
Paul Gaborit <Paul.G...@invalid.invalid> wrote:
> À (at) Thu, 29 Sep 2011 08:51:34 +0200,
> unbewus...@fai.invalid (Une Bévue) écrivait (wrote):
>
>> je ne pense pas qu'il y ait du blob sur SQLite.
>
> SQLite connait les blobs.


Ah oui, exact, merci !

Pierre Goiffon

unread,
Oct 4, 2011, 4:52:57 AM10/4/11
to
Bonjour,

Le 29/09/2011 08:41, Une Bévue a écrit :
>>> J'imagine que pour enregistrer une image dans une bd il faut la
>>> convertir en string par base64 ? ou autre encodage ?
>>
>> C'est une méthode... mais on peut aussi utiliser un champ de type blob
>> (binary large object).
>
> Oui, mais c'est pour l'incorporer dans un fragment HTML.
> Le but visé : incorporer un fragment de page HTML, avec les images dans
> une autre page HTML elle même issue de la lecture d'une bd.
> Donc ce fragment HTML -avec les images- sera enregistré dans un text
> SQLite.

Bon, vous ne dites pas grand chose de votre besoin et contexte, comme
d'habitude :)

Mais pour compléter les réponses déjà faites dans le fil, vous pouvez
potentiellement utiliser les url en file:... mais ça n'est pas supporté
sur MSIE avant la version 8 (plus de détails sur Wikipedia par exemple :
http://en.wikipedia.org/wiki/Data_URI_scheme)

Une Bévue

unread,
Oct 4, 2011, 7:20:23 AM10/4/11
to
Pierre Goiffon <pgoi...@free.fr.invalid> wrote:

> > Oui, mais c'est pour l'incorporer dans un fragment HTML.
> > Le but visé : incorporer un fragment de page HTML, avec les images dans
> > une autre page HTML elle même issue de la lecture d'une bd.
> > Donc ce fragment HTML -avec les images- sera enregistré dans un text
> > SQLite.
>
> Bon, vous ne dites pas grand chose de votre besoin et contexte, comme
> d'habitude :)

ben, j'ai tendance à être laconique, je sais...

> Mais pour compléter les réponses déjà faites dans le fil, vous pouvez
> potentiellement utiliser les url en file:... mais ça n'est pas supporté
> sur MSIE avant la version 8 (plus de détails sur Wikipedia par exemple :
> http://en.wikipedia.org/wiki/Data_URI_scheme)

oui, ça nécessite d'enregister les images dans un fichier et donc de
gérer les noms de fichiers pour éviter les doublons, en blob dans
sqlite, pas de pbs.

--
« Le temps est un grand maitre, dit-on. Le malheur est
qu'il tue ses élèves. »
(Berlioz)
0 new messages