begin process at 2012 02 11 20:28:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ColdFusion

 > 

Archives

 > 

Base de données

 > 

insertion Image dans ma BD via upload


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

insertion Image dans ma BD via upload

mardi 16 août 2005 à 09:39:00 | insertion Image dans ma BD via upload

alf666666

Hello, J'aimerai, avec le code suivant (trouvé sur le site), insérer une image ou fichier non pas sur mon disque dur, mais simplement dans ma BD.

Sélectionnez le fichier à uploader :

Vous avez Uploadé le fichier : #File.ClientFileName#.#File.ClientFileExt#
dans le répertoire : #File.ServerDirectory#
Merci de votre aide
jeudi 18 août 2005 à 11:40:38 | Re : insertion Image dans ma BD via upload

bastoun

Bon... j'ai jamais réellement essayé, mais si je ne me trompe pas c'est un truc du genre :
tu écris ton fichier sur le serveur (comme dans ton source), tu le lis avec un <cffile action="readBinary"....>, tu convertis le tout en base64(afin d'en faire des caractères gérables) et tu insères ceci en base, dans un blob. et tu effaces le ficheir original.

Pour le lire, tu lis en base, et tu convertis en binaire. Et n'oublie pas d'indiquer le type mime avec le tag cfcontent...

faudra que j'essaye tiens... par contre ça risque d'utiliser énormément de ressources au niveau serveur, si les fichiers sont gros ou si plusieurs personnes l'utilisent en même temps

jeudi 18 août 2005 à 11:52:47 | Re : insertion Image dans ma BD via upload

alf666666

Hello, Merci... Mais y a rien de moins compliqué qui existe pour mettre simplement un fichier sur une BD ? c'est superbement expliqué mais je serais totalement incapable de le faire.. et un blob ? jamais entendu ce terme... en fait le seul but de ma demande.. et que le client puisse me mettre à disposition une photo de son établissement... et que moi, ben je l'affiche sur sur son compte...et tout ca automatiquement... tu vois ce que je veux dire ? Merci Salutations Alf
jeudi 18 août 2005 à 12:46:42 | Re : insertion Image dans ma BD via upload

bastoun

bah... dans ce cas, tu stockes juste le nom du fichier en base, dans la table de l'etablissement, et tu stocke tous tes fichiers dans un répertoire particulier... c'est plus simple et plus light.

Pour récupérer le nom du fichieir avant de l'insérer utilises plutot #File.ServerFileName# qui est le nom généré par le serveur si jamais tu gères le nom unique...

si tu n'y arrives, je te ferais une petit exemple

jeudi 18 août 2005 à 13:07:17 | Re : insertion Image dans ma BD via upload

alf666666

Je prend bien bien volontiers ton exemple...j'ai tellement peu d'expérience en coldfusion... Merci encore
lundi 22 août 2005 à 12:15:45 | Re : insertion Image dans ma BD via upload

bastoun

désolé, j'ai pas encore eu le temps de t'en écrire un...
bon... allez, j'en pond un vite fait, il est pas complet. il permet juste d'insérer en base(je pense qu'il faut aussi gérer les suppressions en base et la suppression de fichier..Il faudrait aussi gérer les erreurs...).

Je sais pas s'il fonctionne... car pas testé tel quel (peut êtres quelques petits bugs à corriger).

Je parts du principe que tu as une autre table pour gérer tes photos (te permettant d'en avoir ainsi plusieurs par etablissement, si tu mets une clef primaire autoincrementable dans ta table photo), et que tu cliques sur un lien (ou tu proviens d'un formulaire) avec en parametre ton identifiant unique d'etablissement (etablissementidx ??) pour arriver sur le formulaire d'upload.
bon, je sauvegarde aussi le nom original de la photo (pour faire bien...), mais celui à utiliser est celui généré côté serveur (pour éviter les conflits de nom)

<cfset destination="c:\Test">

<cfif not isdefined("form.fichier")>

   <cfform action="upload.cfm" enctype="multipart/form-data" method="post">
    <p>Sélectionnez le fichier à uploader :
    <input type="file" name="fichier" size="45"></p>
    <input type="Submit" value"Uploader">
    <input  type="hidden" name="etablissementIdx" value="#etablissmentidx#">
    </cfform>

<cfelse>
<!--- Sauvegarde fichier --->
        <cffile action="UPLOAD" filefield="NoteFile" destination="#Destination#" nameconflict="MAKEUNIQUE">
   
        <!--- Référence le fichier dans la base --->
        <cfquery datasource="tonDatasource">
            INSERT INTO Photo( PEtablissementIdx, POriginalName, PFileName)
            VALUES( #etablissementIdx#, '#cffile.clientFile#', '#cffile.serverFile#' )
        </cfquery>
      
        Upload effectué...
</cfif>

lundi 22 août 2005 à 12:19:29 | Re : insertion Image dans ma BD via upload

bastoun

ah oui... la table est comme suit :
Photo( PIdx,PEtablissementIdx, POriginalName, PFileName)


mardi 23 août 2005 à 08:55:06 | Re : insertion Image dans ma BD via upload

alf666666

Salut Bastoun, Un grand merci pour ton aide encore une fois. Petite question : tu pourrais juste me dire à quoi correspond exactement les champs dans la table photo, et de quel genre sont-ils ? style si PEtablissement c'est un char ou bien un int etc...et à quoi sert-il en 2 mots. 2ème questions : que veut dire cette ligne de code Merci Merci
mardi 23 août 2005 à 09:58:55 | Re : insertion Image dans ma BD via upload

bastoun

Réponse acceptée !
le <input type="hidden"...> c'est un champ caché pour passer la variable correspondant à l'identifiant unique de ton etablissement... tu peux faire comme ça ou autrement (var de sessions par exemple... à toi de voir...  suivant ce que tu souhaites faire)

pour la table, je ferais par exemple :
pidx : numérique autoincrémentable (à toi de voir quel type de numérique)
petablissementidx : même type que ta clef primaire de la table etablissement (je suppose ici numérique entier)
pour les champs noms : bah... un champ de caractères de 256 devrait suffire

bon. le prends pas mal, mais j'ai l'impression que tu rames graves, et pas seulement en coldfusion. Si tu veux pouvoir être capable de te débrouiller seul, il faut que tu aies quand même de bonnes bases en HTML (ou XHTML) , c'est mieux..
 Je te conseillerais aussi de trouver la doc de CFMX en français, ou un bouquin (genre celui de campuspress) sur cfmx, et de lire attentivement et en t'aidant des exemples pour faire tes propres petites appli...Pas besoin de tous lire au départ, juste les parties de premiers pas et d'introduction... tu liras la partie avancée après.. comme ça, tu acquierera les bases de CF... normalement il y a quelques petites explications(trés succintes) dans ce bouquin sur SQL et les bases de données... c'est auss trés utile. Je te conseillerais donc de prendre, à terme, également un bouquin(ou une doc sur le net) d'introduction aux bases de données et au SQL





Cette discussion est classée dans : fichier, bd, file, image, insertion


Répondre à ce message

Sujets en rapport avec ce message

Insertion donnée dans BD MySql et création de la clé primaire [ par alf666666 ] Bonjour, Je désire simplement faire une insertion de données dans ma BD MySql. Mais dans ma BD, y a une clé primaire, donc comment dire à mon insertio Insertion dans une BD avec controle avans insertion finale [ par alf666666 ] Hello, Je désire pouvoir controler ce qu'un internaute insère dans ma BD. Exemple : un internaute insère un nouvel élément grace à un formulaire. Je pb upload d'image [ par issamery ] Bonjour à tous,je veux faire un listing d'images, j'ai formulaire demandant une photo à l'utilisateur, je la stocke dans une dossier et j'aimerai par Code java sur l'interface graphique [ par ghaouar ] Bonjour, j'ai créer une interface graphique qui importe une image et faire tel option sur cette image ( traitement ). mais je sait pas le code qui m traitement d'image en java a l'aide d'un interface graphique [ par ghaouar ] Bonjour, j'ai créer une interface graphique qui importe une image et faire tel option sur cette image ( traitement ). mais je sait pas le code qui m CFFILE - Nom du fichier en sortie [ par jeanmarieb ] Bonjour, J'essaye d'zxporter vers Exel une partie d"un fichier qui se trouve sur une bd accès. J'arrive à ce résultat sauf quand la fénétre s'ouvre, Rechercher un element dans une bd Mysql sous java [ par Darkmans ] Bonjour, Je cherche un code me permettant de rechercher un élément dans une base de donnée mysql sous netbeans et afficher un message dialogue si l'él Enregistrer mon tableau affiché dans un fichier Word [ par kabayacasa ] Bonjour, Je vous remercie tous d'abord. Je travaille avec coldfusion ver 6, serveur appache, en local. Mon problème est le suivant: ma .... affiche Fichier attaché [ par gilloux67 ] Bonjour,Je pose une petite question toute simple pour les pros du CFM. J'ai un formulaire en cfm, qui fonctionne sans problème avec récuperation des c Recherche sur toutes les tables de ma bd [ par alf666666 ] hello, Comment faire une recherche sur toutes les tables de ma BD lorsque l'internaute tape qu'un mot du style, je tape le mot "test" et le site va m


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales