Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

enregistrer une image dans une bd ?

11 réponses
Avatar
unbewusst.sein
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)

10 réponses

1 2
Avatar
Paul Gaborit
À (at) Thu, 29 Sep 2011 07:31:45 +0200,
(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/&gt;
Avatar
Sergio
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
Avatar
Pascal Poncet
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
Avatar
unbewusst.sein
Paul Gaborit wrote:

À (at) Thu, 29 Sep 2011 07:31:45 +0200,
(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...
--
« Il vaut mieux taxer les pauvres que les riches car
ils sont beaucoup plus nombreux »
(Margaret Thatcher)
Avatar
unbewusst.sein
Pascal Poncet wrote:

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



avec une base mysql, mais j'utilise sqlite.

--
« Il vaut mieux taxer les pauvres que les riches car
ils sont beaucoup plus nombreux »
(Margaret Thatcher)
Avatar
unbewusst.sein
Sergio 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.
--
« Il vaut mieux taxer les pauvres que les riches car
ils sont beaucoup plus nombreux »
(Margaret Thatcher)
Avatar
Sergio
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.

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Avatar
unbewusst.sein
Sergio 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...
--
« Il vaut mieux taxer les pauvres que les riches car
ils sont beaucoup plus nombreux »
(Margaret Thatcher)
Avatar
Paul Gaborit
À (at) Thu, 29 Sep 2011 08:51:34 +0200,
(Une Bévue) écrivait (wrote):

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



SQLite connait les blobs.

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/&gt;
Avatar
Pierre Goiffon
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)
1 2